--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
meshchatx/src/frontend/locales/en.json b716a2e0d22ae49bd55c56b0ca4381ab5211bc1f (b716a2e0) Text, 156.04 KB
Tb4b4b4{
Tff7b72"_languageName"Tb4b4b4: Ta5d6ff"English"Tb4b4b4,
Tff7b72"bots"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"LXMFy Bots"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Run simple LXMF bots (echo, notes, reminders) when the LXMFy add-on is installed."Tb4b4b4,
Tff7b72"bot_framework"Tb4b4b4: Ta5d6ff"Bot Framework"Tb4b4b4,
Tff7b72"lxmfy_not_detected"Tb4b4b4: Ta5d6ff"LXMFy not detected"Tb4b4b4,
Tff7b72"lxmfy_not_detected_desc"Tb4b4b4: Ta5d6ff"To use bots, you must install the LXMFy package:"Tb4b4b4,
Tff7b72"install_via_pip"Tb4b4b4: Ta5d6ff"Install via pip"Tb4b4b4,
Tff7b72"create_new_bot"Tb4b4b4: Ta5d6ff"Create New Bot"Tb4b4b4,
Tff7b72"running_bots"Tb4b4b4: Ta5d6ff"Running Bots"Tb4b4b4,
Tff7b72"no_bots_running"Tb4b4b4: Ta5d6ff"No bots are currently running."Tb4b4b4,
Tff7b72"select"Tb4b4b4: Ta5d6ff"Select"Tb4b4b4,
Tff7b72"start_bot"Tb4b4b4: Ta5d6ff"Start Bot"Tb4b4b4,
Tff7b72"stop_bot"Tb4b4b4: Ta5d6ff"Stop Bot"Tb4b4b4,
Tff7b72"restart_bot"Tb4b4b4: Ta5d6ff"Restart Bot"Tb4b4b4,
Tff7b72"saved_bots"Tb4b4b4: Ta5d6ff"Saved Bots"Tb4b4b4,
Tff7b72"bot_name"Tb4b4b4: Ta5d6ff"Bot Name"Tb4b4b4,
Tff7b72"cancel"Tb4b4b4: Ta5d6ff"Cancel"Tb4b4b4,
Tff7b72"bot_started"Tb4b4b4: Ta5d6ff"Bot started successfully"Tb4b4b4,
Tff7b72"bot_stopped"Tb4b4b4: Ta5d6ff"Bot stopped"Tb4b4b4,
Tff7b72"start_pending"Tb4b4b4: Ta5d6ff"Starting bot… LXMF and Reticulum can take a moment."Tb4b4b4,
Tff7b72"stop_pending"Tb4b4b4: Ta5d6ff"Stopping bot…"Tb4b4b4,
Tff7b72"restart_pending"Tb4b4b4: Ta5d6ff"Restarting bot… this may take a moment."Tb4b4b4,
Tff7b72"bot_ready"Tb4b4b4: Ta5d6ff"Bot is up and running."Tb4b4b4,
Tff7b72"failed_to_start"Tb4b4b4: Ta5d6ff"Failed to start bot"Tb4b4b4,
Tff7b72"failed_to_stop"Tb4b4b4: Ta5d6ff"Failed to stop bot"Tb4b4b4,
Tff7b72"delete_bot"Tb4b4b4: Ta5d6ff"Delete Bot"Tb4b4b4,
Tff7b72"export_identity"Tb4b4b4: Ta5d6ff"Export Identity"Tb4b4b4,
Tff7b72"bot_deleted"Tb4b4b4: Ta5d6ff"Bot deleted successfully"Tb4b4b4,
Tff7b72"failed_to_delete"Tb4b4b4: Ta5d6ff"Failed to delete bot"Tb4b4b4,
Tff7b72"more_bots_coming"Tb4b4b4: Ta5d6ff"More bots coming soon!"Tb4b4b4,
Tff7b72"chat_with_bot"Tb4b4b4: Ta5d6ff"Chat"Tb4b4b4,
Tff7b72"lxmf_address"Tb4b4b4: Ta5d6ff"LXMF address"Tb4b4b4,
Tff7b72"last_announce"Tb4b4b4: Ta5d6ff"Last announce"Tb4b4b4,
Tff7b72"never_announced"Tb4b4b4: Ta5d6ff"Not seen on this node yet"Tb4b4b4,
Tff7b72"address_pending"Tb4b4b4: Ta5d6ff"Not available until the bot has started once"Tb4b4b4,
Tff7b72"status_running"Tb4b4b4: Ta5d6ff"Running"Tb4b4b4,
Tff7b72"status_stopped"Tb4b4b4: Ta5d6ff"Stopped"Tb4b4b4,
Tff7b72"force_announce"Tb4b4b4: Ta5d6ff"Announce now"Tb4b4b4,
Tff7b72"edit_name"Tb4b4b4: Ta5d6ff"Edit name"Tb4b4b4,
Tff7b72"bot_renamed"Tb4b4b4: Ta5d6ff"Bot name saved"Tb4b4b4,
Tff7b72"rename_failed"Tb4b4b4: Ta5d6ff"Could not save name"Tb4b4b4,
Tff7b72"name_required"Tb4b4b4: Ta5d6ff"Enter a name"Tb4b4b4,
Tff7b72"announce_triggered"Tb4b4b4: Ta5d6ff"Announce requested"Tb4b4b4,
Tff7b72"announce_failed"Tb4b4b4: Ta5d6ff"Could not request announce"Tb4b4b4,
Tff7b72"last_error_heading"Tb4b4b4: Ta5d6ff"Last error"Tb4b4b4,
Tff7b72"view_process_log"Tb4b4b4: Ta5d6ff"Process log (debug)"Tb4b4b4,
Tff7b72"process_log_title"Tb4b4b4: Ta5d6ff"Bot process log"Tb4b4b4,
Tff7b72"process_log_empty"Tb4b4b4: Ta5d6ff"No log output yet for this bot."Tb4b4b4,
Tff7b72"process_log_truncated"Tb4b4b4: Ta5d6ff"Only the end of the log is shown. The full file on disk is larger."Tb4b4b4,
Tff7b72"process_log_loading"Tb4b4b4: Ta5d6ff"Loading log…"Tb4b4b4,
Tff7b72"process_log_failed"Tb4b4b4: Ta5d6ff"Could not load process log"Tb4b4b4,
Tff7b72"process_log_copied"Tb4b4b4: Ta5d6ff"Log copied to clipboard"Tb4b4b4,
Tff7b72"copy_process_log"Tb4b4b4: Ta5d6ff"Copy log"
Tb4b4b4},
Tff7b72"app"Tb4b4b4: Tb4b4b4{
Tff7b72"name"Tb4b4b4: Ta5d6ff"Reticulum MeshChatX"Tb4b4b4,
Tff7b72"sync_messages"Tb4b4b4: Ta5d6ff"Sync Messages"Tb4b4b4,
Tff7b72"compose"Tb4b4b4: Ta5d6ff"Compose"Tb4b4b4,
Tff7b72"messages"Tb4b4b4: Ta5d6ff"Messages"Tb4b4b4,
Tff7b72"contacts"Tb4b4b4: Ta5d6ff"Contacts"Tb4b4b4,
Tff7b72"nomad_network"Tb4b4b4: Ta5d6ff"Nomad Network"Tb4b4b4,
Tff7b72"map"Tb4b4b4: Ta5d6ff"Map"Tb4b4b4,
Tff7b72"archives"Tb4b4b4: Ta5d6ff"Archives"Tb4b4b4,
Tff7b72"propagation_nodes"Tb4b4b4: Ta5d6ff"Propagation Nodes"Tb4b4b4,
Tff7b72"network_visualiser"Tb4b4b4: Ta5d6ff"Network Visualiser"Tb4b4b4,
Tff7b72"interfaces"Tb4b4b4: Ta5d6ff"Interfaces"Tb4b4b4,
Tff7b72"tools"Tb4b4b4: Ta5d6ff"Tools"Tb4b4b4,
Tff7b72"settings"Tb4b4b4: Ta5d6ff"Settings"Tb4b4b4,
Tff7b72"identities"Tb4b4b4: Ta5d6ff"Identities"Tb4b4b4,
Tff7b72"documentation"Tb4b4b4: Ta5d6ff"Documentation"Tb4b4b4,
Tff7b72"about"Tb4b4b4: Ta5d6ff"About"Tb4b4b4,
Tff7b72"changelog_title"Tb4b4b4: Ta5d6ff"What's New"Tb4b4b4,
Tff7b72"do_not_show_again"Tb4b4b4: Ta5d6ff"Do not show again for this version"Tb4b4b4,
Tff7b72"do_not_show_ever"Tb4b4b4: Ta5d6ff"Do not show ever again"Tb4b4b4,
Tff7b72"tutorial_title"Tb4b4b4: Ta5d6ff"Getting Started"Tb4b4b4,
Tff7b72"tutorial_welcome"Tb4b4b4: Ta5d6ff"Welcome to MeshChatX"Tb4b4b4,
Tff7b72"tutorial_connect"Tb4b4b4: Ta5d6ff"Connect to the Mesh"Tb4b4b4,
Tff7b72"tutorial_finish"Tb4b4b4: Ta5d6ff"Ready to Roll!"Tb4b4b4,
Tff7b72"tutorial_restart_required"Tb4b4b4: Ta5d6ff"Restart Required"Tb4b4b4,
Tff7b72"tutorial_docker_note"Tb4b4b4: Ta5d6ff"If you're running in Docker, ensure you restart the container."Tb4b4b4,
Tff7b72"my_identity"Tb4b4b4: Ta5d6ff"My Identity"Tb4b4b4,
Tff7b72"identity_hash"Tb4b4b4: Ta5d6ff"Identity Hash"Tb4b4b4,
Tff7b72"lxmf_address"Tb4b4b4: Ta5d6ff"LXMF Address"Tb4b4b4,
Tff7b72"announce"Tb4b4b4: Ta5d6ff"Announce"Tb4b4b4,
Tff7b72"announce_now"Tb4b4b4: Ta5d6ff"Announce Now"Tb4b4b4,
Tff7b72"show_qr"Tb4b4b4: Ta5d6ff"Show QR Code"Tb4b4b4,
Tff7b72"failed_announce"Tb4b4b4: Ta5d6ff"failed to announce"Tb4b4b4,
Tff7b72"announce_sent"Tb4b4b4: Ta5d6ff"Announcement sent"Tb4b4b4,
Tff7b72"notifications_no_new"Tb4b4b4: Ta5d6ff"No new notifications"Tb4b4b4,
Tff7b72"notifications_empty_history"Tb4b4b4: Ta5d6ff"No notification history"Tb4b4b4,
Tff7b72"notifications_history_title"Tb4b4b4: Ta5d6ff"Recent notification history"Tb4b4b4,
Tff7b72"last_announced"Tb4b4b4: Ta5d6ff"Last announced: {time}"Tb4b4b4,
Tff7b72"last_announced_never"Tb4b4b4: Ta5d6ff"Last announced: Never"Tb4b4b4,
Tff7b72"display_name_placeholder"Tb4b4b4: Ta5d6ff"Display Name"Tb4b4b4,
Tff7b72"profile"Tb4b4b4: Ta5d6ff"Profile"Tb4b4b4,
Tff7b72"manage_identity"Tb4b4b4: Ta5d6ff"Manage your identity, transport participation and LXMF defaults."Tb4b4b4,
Tff7b72"theme"Tb4b4b4: Ta5d6ff"Theme"Tb4b4b4,
Tff7b72"theme_mode"Tb4b4b4: Ta5d6ff"{mode} mode"Tb4b4b4,
Tff7b72"transport"Tb4b4b4: Ta5d6ff"Transport"Tb4b4b4,
Tff7b72"enabled"Tb4b4b4: Ta5d6ff"Enabled"Tb4b4b4,
Tff7b72"disabled"Tb4b4b4: Ta5d6ff"Disabled"Tb4b4b4,
Tff7b72"propagation"Tb4b4b4: Ta5d6ff"Propagation"Tb4b4b4,
Tff7b72"local_node_running"Tb4b4b4: Ta5d6ff"Local node running"Tb4b4b4,
Tff7b72"client_only"Tb4b4b4: Ta5d6ff"Client-only"Tb4b4b4,
Tff7b72"copy"Tb4b4b4: Ta5d6ff"Copy"Tb4b4b4,
Tff7b72"appearance"Tb4b4b4: Ta5d6ff"Appearance"Tb4b4b4,
Tff7b72"appearance_description"Tb4b4b4: Ta5d6ff"Switch between light and dark presets anytime."Tb4b4b4,
Tff7b72"messages_sidebar_position"Tb4b4b4: Ta5d6ff"Messages sidebar"Tb4b4b4,
Tff7b72"messages_sidebar_position_left"Tb4b4b4: Ta5d6ff"Left"Tb4b4b4,
Tff7b72"messages_sidebar_position_right"Tb4b4b4: Ta5d6ff"Right"Tb4b4b4,
Tff7b72"ui_transparency"Tb4b4b4: Ta5d6ff"Background transparency"Tb4b4b4,
Tff7b72"ui_transparency_description"Tb4b4b4: Ta5d6ff"Increases transparency on the main background. Side panels stay solid for readability."Tb4b4b4,
Tff7b72"ui_glass_enabled"Tb4b4b4: Ta5d6ff"Glass effect"Tb4b4b4,
Tff7b72"ui_glass_enabled_description"Tb4b4b4: Ta5d6ff"Adds a frosted blur effect to cards. When off, cards use solid colors."Tb4b4b4,
Tff7b72"reset_appearance_defaults"Tb4b4b4: Ta5d6ff"Reset appearance to defaults"Tb4b4b4,
Tff7b72"light_theme"Tb4b4b4: Ta5d6ff"Light Theme"Tb4b4b4,
Tff7b72"dark_theme"Tb4b4b4: Ta5d6ff"Dark Theme"Tb4b4b4,
Tff7b72"live_preview"Tb4b4b4: Ta5d6ff"Live preview updates instantly."Tb4b4b4,
Tff7b72"realtime"Tb4b4b4: Ta5d6ff"Realtime"Tb4b4b4,
Tff7b72"transport_mode"Tb4b4b4: Ta5d6ff"Transport Mode"Tb4b4b4,
Tff7b72"transport_description"Tb4b4b4: Ta5d6ff"Relay paths and traffic for nearby peers."Tb4b4b4,
Tff7b72"enable_transport_mode"Tb4b4b4: Ta5d6ff"Enable Transport Mode"Tb4b4b4,
Tff7b72"transport_toggle_description"Tb4b4b4: Ta5d6ff"Route announces, respond to path requests and help your mesh stay online."Tb4b4b4,
Tff7b72"requires_restart"Tb4b4b4: Ta5d6ff"Requires restart after toggling."Tb4b4b4,
Tff7b72"show_community_interfaces"Tb4b4b4: Ta5d6ff"Show Community Interfaces"Tb4b4b4,
Tff7b72"community_interfaces_description"Tb4b4b4: Ta5d6ff"Show community-maintained presets when adding new interfaces."Tb4b4b4,
Tff7b72"reliability"Tb4b4b4: Ta5d6ff"Reliability"Tb4b4b4,
Tff7b72"lxmf_settings_eyebrow"Tb4b4b4: Ta5d6ff"LXMF"Tb4b4b4,
Tff7b72"privacy_eyebrow"Tb4b4b4: Ta5d6ff"Privacy"Tb4b4b4,
Tff7b72"privacy_data_title"Tb4b4b4: Ta5d6ff"Data & device"Tb4b4b4,
Tff7b72"privacy_data_description"Tb4b4b4: Ta5d6ff"Manage local message history, telemetry, and other privacy options. Deleting here only affects this device."Tb4b4b4,
Tff7b72"privacy_data"Tb4b4b4: Ta5d6ff"Data & device"Tb4b4b4,
Tff7b72"privacy_subsection_device"Tb4b4b4: Ta5d6ff"This device"Tb4b4b4,
Tff7b72"privacy_subsection_telemetry"Tb4b4b4: Ta5d6ff"Mesh telemetry"Tb4b4b4,
Tff7b72"settings_map_eyebrow"Tb4b4b4: Ta5d6ff"Map"Tb4b4b4,
Tff7b72"messages_description"Tb4b4b4: Ta5d6ff"Configure how MeshChat handles message delivery failures. Control automatic retry behavior, attachment retransmission, and fallback mechanisms to ensure reliable message delivery across the mesh network."Tb4b4b4,
Tff7b72"auto_resend_title"Tb4b4b4: Ta5d6ff"Auto resend when peer announces"Tb4b4b4,
Tff7b72"auto_resend_description"Tb4b4b4: Ta5d6ff"Failed messages automatically retry once the destination broadcasts again."Tb4b4b4,
Tff7b72"retry_attachments_title"Tb4b4b4: Ta5d6ff"Allow retries with attachments"Tb4b4b4,
Tff7b72"retry_attachments_description"Tb4b4b4: Ta5d6ff"Large payloads will also be retried (useful when both peers have high limits)."Tb4b4b4,
Tff7b72"auto_fallback_title"Tb4b4b4: Ta5d6ff"Auto fall back to propagation node"Tb4b4b4,
Tff7b72"auto_fallback_description"Tb4b4b4: Ta5d6ff"Failed direct deliveries are queued on your preferred propagation node."Tb4b4b4,
Tff7b72"inbound_stamps_required_title"Tb4b4b4: Ta5d6ff"Require inbound stamps"Tb4b4b4,
Tff7b72"inbound_stamps_required_description"Tb4b4b4: Ta5d6ff"When off, direct messages to you do not require proof-of-work stamps. When on, set the stamp cost below. Higher values mean more work for senders."Tb4b4b4,
Tff7b72"inbound_stamp_cost"Tb4b4b4: Ta5d6ff"Inbound Message Stamp Cost"Tb4b4b4,
Tff7b72"inbound_stamp_description"Tb4b4b4: Ta5d6ff"Proof-of-work difficulty for direct messages. Range: 1-254. Default: 8."Tb4b4b4,
Tff7b72"local_message_auto_delete_title"Tb4b4b4: Ta5d6ff"Delete old messages on this device"Tb4b4b4,
Tff7b72"local_message_auto_delete_description"Tb4b4b4: Ta5d6ff"Removes messages from the local database after the age you set. This only affects this device and no data is deleted from the network."Tb4b4b4,
Tff7b72"local_message_auto_delete_age"Tb4b4b4: Ta5d6ff"Delete messages older than"Tb4b4b4,
Tff7b72"local_message_auto_delete_unit_aria"Tb4b4b4: Ta5d6ff"Time unit for message retention"Tb4b4b4,
Tff7b72"local_message_auto_delete_unit_days"Tb4b4b4: Ta5d6ff"days"Tb4b4b4,
Tff7b72"local_message_auto_delete_unit_months"Tb4b4b4: Ta5d6ff"months (30 days each)"Tb4b4b4,
Tff7b72"local_message_auto_delete_month_note"Tb4b4b4: Ta5d6ff"Months are counted as 30 days each. Disabled by default."Tb4b4b4,
Tff7b72"browse_nodes"Tb4b4b4: Ta5d6ff"Browse Nodes"Tb4b4b4,
Tff7b72"propagation_nodes_description"Tb4b4b4: Ta5d6ff"Keep conversations flowing even when peers are offline."Tb4b4b4,
Tff7b72"nodes_info_1"Tb4b4b4: Ta5d6ff"Propagation nodes hold messages securely until recipients sync again."Tb4b4b4,
Tff7b72"nodes_info_2"Tb4b4b4: Ta5d6ff"Nodes peer with each other to distribute encrypted payloads."Tb4b4b4,
Tff7b72"nodes_info_3"Tb4b4b4: Ta5d6ff"Most nodes retain data ~30 days, then discard undelivered items."Tb4b4b4,
Tff7b72"run_local_node"Tb4b4b4: Ta5d6ff"Run a local propagation node"Tb4b4b4,
Tff7b72"run_local_node_description"Tb4b4b4: Ta5d6ff"MeshChat will announce and maintain a node using this local destination hash."Tb4b4b4,
Tff7b72"preferred_propagation_node"Tb4b4b4: Ta5d6ff"Preferred Propagation Node"Tb4b4b4,
Tff7b72"preferred_node_placeholder"Tb4b4b4: Ta5d6ff"Destination hash, e.g. a39610c89d18bb48c73e429582423c24"Tb4b4b4,
Tff7b72"fallback_node_description"Tb4b4b4: Ta5d6ff"Messages fallback to this node whenever direct delivery fails."Tb4b4b4,
Tff7b72"auto_select_node"Tb4b4b4: Ta5d6ff"Auto-select best node"Tb4b4b4,
Tff7b72"auto_select_node_description"Tb4b4b4: Ta5d6ff"Automatically find and switch to the best available propagation node based on network hops."Tb4b4b4,
Tff7b72"auto_select_using_label"Tb4b4b4: Ta5d6ff"Using propagation node"Tb4b4b4,
Tff7b72"auto_select_pending"Tb4b4b4: Ta5d6ff"No propagation node selected yet. The app will choose one when available."Tb4b4b4,
Tff7b72"incoming_message_size"Tb4b4b4: Ta5d6ff"Incoming message size"Tb4b4b4,
Tff7b72"incoming_message_size_description"Tb4b4b4: Ta5d6ff"Maximum size for one direct LXMF delivery you will accept."Tb4b4b4,
Tff7b72"incoming_message_size_1mb"Tb4b4b4: Ta5d6ff"1 MB"Tb4b4b4,
Tff7b72"incoming_message_size_10mb"Tb4b4b4: Ta5d6ff"10 MB"Tb4b4b4,
Tff7b72"incoming_message_size_25mb"Tb4b4b4: Ta5d6ff"25 MB"Tb4b4b4,
Tff7b72"incoming_message_size_50mb"Tb4b4b4: Ta5d6ff"50 MB"Tb4b4b4,
Tff7b72"incoming_message_size_1gb"Tb4b4b4: Ta5d6ff"1 GB"Tb4b4b4,
Tff7b72"incoming_message_size_custom"Tb4b4b4: Ta5d6ff"Custom"Tb4b4b4,
Tff7b72"incoming_message_size_unit_mb"Tb4b4b4: Ta5d6ff"MB"Tb4b4b4,
Tff7b72"incoming_message_size_unit_gb"Tb4b4b4: Ta5d6ff"GB"Tb4b4b4,
Tff7b72"auto_sync_interval"Tb4b4b4: Ta5d6ff"Auto Sync Interval"Tb4b4b4,
Tff7b72"last_synced"Tb4b4b4: Ta5d6ff"Last synced {time} ago."Tb4b4b4,
Tff7b72"last_synced_never"Tb4b4b4: Ta5d6ff"Last synced: never."Tb4b4b4,
Tff7b72"propagation_stamp_cost"Tb4b4b4: Ta5d6ff"Propagation Node Stamp Cost"Tb4b4b4,
Tff7b72"propagation_stamp_description"Tb4b4b4: Ta5d6ff"Require proof-of-work stamps for messages sent through your node. Higher values require more work. Range: 13-254. Default: 16. **Note:** Changing this requires a restart."Tb4b4b4,
Tff7b72"language"Tb4b4b4: Ta5d6ff"Language"Tb4b4b4,
Tff7b72"select_language"Tb4b4b4: Ta5d6ff"Select your preferred language."Tb4b4b4,
Tff7b72"tagline"Tb4b4b4: Ta5d6ff"All-in-one Reticulum client"Tb4b4b4,
Tff7b72"open"Tb4b4b4: Ta5d6ff"Open"Tb4b4b4,
Tff7b72"identity"Tb4b4b4: Ta5d6ff"Identity"Tb4b4b4,
Tff7b72"lxmf_address_hash"Tb4b4b4: Ta5d6ff"LXMF Address Hash"Tb4b4b4,
Tff7b72"propagation_node_status"Tb4b4b4: Ta5d6ff"Propagation Node Status"Tb4b4b4,
Tff7b72"last_sync"Tb4b4b4: Ta5d6ff"Last Sync: {time} ago"Tb4b4b4,
Tff7b72"last_sync_never"Tb4b4b4: Ta5d6ff"Last Sync: never"Tb4b4b4,
Tff7b72"syncing"Tb4b4b4: Ta5d6ff"Syncing..."Tb4b4b4,
Tff7b72"synced"Tb4b4b4: Ta5d6ff"Synced"Tb4b4b4,
Tff7b72"not_synced"Tb4b4b4: Ta5d6ff"Not Synced"Tb4b4b4,
Tff7b72"not_configured"Tb4b4b4: Ta5d6ff"Not Configured"Tb4b4b4,
Tff7b72"toggle_source"Tb4b4b4: Ta5d6ff"Toggle Source Code"Tb4b4b4,
Tff7b72"audio_calls"Tb4b4b4: Ta5d6ff"Telephone"Tb4b4b4,
Tff7b72"calls"Tb4b4b4: Ta5d6ff"Calls"Tb4b4b4,
Tff7b72"status"Tb4b4b4: Ta5d6ff"Status"Tb4b4b4,
Tff7b72"active_call"Tb4b4b4: Ta5d6ff"Active Call"Tb4b4b4,
Tff7b72"incoming"Tb4b4b4: Ta5d6ff"Incoming"Tb4b4b4,
Tff7b72"outgoing"Tb4b4b4: Ta5d6ff"Outgoing"Tb4b4b4,
Tff7b72"call"Tb4b4b4: Ta5d6ff"Call"Tb4b4b4,
Tff7b72"calls_plural"Tb4b4b4: Ta5d6ff"Calls"Tb4b4b4,
Tff7b72"hop"Tb4b4b4: Ta5d6ff"hop"Tb4b4b4,
Tff7b72"hops_plural"Tb4b4b4: Ta5d6ff"hops"Tb4b4b4,
Tff7b72"hung_up_waiting"Tb4b4b4: Ta5d6ff"Hung up, waiting for call..."Tb4b4b4,
Tff7b72"view_incoming_calls"Tb4b4b4: Ta5d6ff"View Incoming Calls"Tb4b4b4,
Tff7b72"hangup_all_calls"Tb4b4b4: Ta5d6ff"Hangup all Calls"Tb4b4b4,
Tff7b72"clear_history"Tb4b4b4: Ta5d6ff"Clear History"Tb4b4b4,
Tff7b72"no_active_calls"Tb4b4b4: Ta5d6ff"No active calls"Tb4b4b4,
Tff7b72"incoming_call"Tb4b4b4: Ta5d6ff"Incoming call..."Tb4b4b4,
Tff7b72"outgoing_call"Tb4b4b4: Ta5d6ff"Outgoing call..."Tb4b4b4,
Tff7b72"call_active"Tb4b4b4: Ta5d6ff"Active"Tb4b4b4,
Tff7b72"call_ended"Tb4b4b4: Ta5d6ff"Ended"Tb4b4b4,
Tff7b72"propagation_node"Tb4b4b4: Ta5d6ff"Propagation Node"Tb4b4b4,
Tff7b72"sync_now"Tb4b4b4: Ta5d6ff"Sync Now"Tb4b4b4,
Tff7b72"setting_auto_saved"Tb4b4b4: Ta5d6ff"Setting {label} auto-saved"Tb4b4b4,
Tff7b72"backup_max_count"Tb4b4b4: Ta5d6ff"Automatic backup limit"Tb4b4b4,
Tff7b72"message_font_size"Tb4b4b4: Ta5d6ff"Message font size"Tb4b4b4,
Tff7b72"message_icon_size"Tb4b4b4: Ta5d6ff"Icon size"Tb4b4b4,
Tff7b72"detailed_outbound_send_status"Tb4b4b4: Ta5d6ff"Detailed outbound send status"Tb4b4b4,
Tff7b72"detailed_outbound_send_status_description"Tb4b4b4: Ta5d6ff"Show detailed status like pathfinding and technical tooltips while sending. When off, a simple checkmark is shown."Tb4b4b4,
Tff7b72"message_timestamp_grouping"Tb4b4b4: Ta5d6ff"Group message timestamps"Tb4b4b4,
Tff7b72"message_timestamp_grouping_description"Tb4b4b4: Ta5d6ff"When on, messages are grouped by date and timestamps are simplified. When off, every message shows its exact time."Tb4b4b4,
Tff7b72"search_settings"Tb4b4b4: Ta5d6ff"Search settings..."Tb4b4b4,
Tff7b72"auto_resend"Tb4b4b4: Ta5d6ff"Auto Resend"Tb4b4b4,
Tff7b72"retry_attachments"Tb4b4b4: Ta5d6ff"Retry Attachments"Tb4b4b4,
Tff7b72"auto_fallback"Tb4b4b4: Ta5d6ff"Auto Fallback"Tb4b4b4,
Tff7b72"community_interfaces"Tb4b4b4: Ta5d6ff"Community Interfaces"Tb4b4b4,
Tff7b72"preferred_node"Tb4b4b4: Ta5d6ff"Preferred Node"Tb4b4b4,
Tff7b72"local_node"Tb4b4b4: Ta5d6ff"Local Node"Tb4b4b4,
Tff7b72"auto_sync"Tb4b4b4: Ta5d6ff"Auto Sync"Tb4b4b4,
Tff7b72"inbound_stamp_cost_label"Tb4b4b4: Ta5d6ff"Inbound Stamp Cost"Tb4b4b4,
Tff7b72"propagation_stamp_cost_label"Tb4b4b4: Ta5d6ff"Propagation Stamp Cost"Tb4b4b4,
Tff7b72"page_archiver"Tb4b4b4: Ta5d6ff"Page Archiver"Tb4b4b4,
Tff7b72"smart_crawler"Tb4b4b4: Ta5d6ff"Smart Crawler"Tb4b4b4,
Tff7b72"authentication"Tb4b4b4: Ta5d6ff"Authentication"Tb4b4b4,
Tff7b72"stranger_protection"Tb4b4b4: Ta5d6ff"Stranger Protection"Tb4b4b4,
Tff7b72"stranger_protection_description"Tb4b4b4: Ta5d6ff"Control how the app handles messages and attachments from unknown peers."Tb4b4b4,
Tff7b72"block_stranger_attachments"Tb4b4b4: Ta5d6ff"Block Attachments from Strangers"Tb4b4b4,
Tff7b72"block_stranger_attachments_description"Tb4b4b4: Ta5d6ff"Automatically remove file, image, and audio attachments from people not in your contacts. Text messages are still delivered."Tb4b4b4,
Tff7b72"block_all_from_strangers"Tb4b4b4: Ta5d6ff"Block Everything from Strangers"Tb4b4b4,
Tff7b72"block_all_from_strangers_description"Tb4b4b4: Ta5d6ff"Ignore all messages, attachments, and calls from people not in your contacts. Nothing is delivered or saved."Tb4b4b4,
Tff7b72"show_unknown_contact_banner"Tb4b4b4: Ta5d6ff"Show Unknown Contact Banner"Tb4b4b4,
Tff7b72"show_unknown_contact_banner_description"Tb4b4b4: Ta5d6ff"When enabled, a notice appears at the top of conversations with peers who are not in your contacts."Tb4b4b4,
Tff7b72"warn_on_stranger_links"Tb4b4b4: Ta5d6ff"Warn Before Opening Stranger Links"Tb4b4b4,
Tff7b72"warn_on_stranger_links_description"Tb4b4b4: Ta5d6ff"Show a warning prompt before opening HTTP/HTTPS links sent by peers who are not in your contacts."Tb4b4b4,
Tff7b72"banishment"Tb4b4b4: Ta5d6ff"Banishment"Tb4b4b4,
Tff7b72"banishment_description"Tb4b4b4: Ta5d6ff"Customize the visual effect shown for banished peers and nodes."Tb4b4b4,
Tff7b72"banished_effect_enabled"Tb4b4b4: Ta5d6ff"Enable Banishment Effect"Tb4b4b4,
Tff7b72"banished_effect_description"Tb4b4b4: Ta5d6ff"Show a visual overlay on banished peers and nodes."Tb4b4b4,
Tff7b72"banished_text_label"Tb4b4b4: Ta5d6ff"Banishment Text"Tb4b4b4,
Tff7b72"banished_text_description"Tb4b4b4: Ta5d6ff"Custom message to display on the overlay."Tb4b4b4,
Tff7b72"banished_color_label"Tb4b4b4: Ta5d6ff"Banishment Color"Tb4b4b4,
Tff7b72"banished_color_description"Tb4b4b4: Ta5d6ff"The color used for the banishment effect."Tb4b4b4,
Tff7b72"desktop_open_calls_in_separate_window"Tb4b4b4: Ta5d6ff"Open Calls in 2nd Window"Tb4b4b4,
Tff7b72"desktop_open_calls_in_separate_window_description"Tb4b4b4: Ta5d6ff"When a call is active, it will be shown in a separate pop-out window rather than inside the app."Tb4b4b4,
Tff7b72"desktop_hardware_acceleration_enabled"Tb4b4b4: Ta5d6ff"Hardware Acceleration"Tb4b4b4,
Tff7b72"desktop_hardware_acceleration_enabled_description"Tb4b4b4: Ta5d6ff"Disable this if you experience flickering, black screens, or other graphical issues."Tb4b4b4,
Tff7b72"translator"Tb4b4b4: Ta5d6ff"Translator"Tb4b4b4,
Tff7b72"translator_enabled"Tb4b4b4: Ta5d6ff"Enable Translator"Tb4b4b4,
Tff7b72"translator_description"Tb4b4b4: Ta5d6ff"Enable translation features in conversations."Tb4b4b4,
Tff7b72"libretranslate_url"Tb4b4b4: Ta5d6ff"LibreTranslate URL"Tb4b4b4,
Tff7b72"libretranslate_url_description"Tb4b4b4: Ta5d6ff"The URL where LibreTranslate API is accessible."Tb4b4b4,
Tff7b72"system"Tb4b4b4: Ta5d6ff"System"Tb4b4b4,
Tff7b72"reticulum_stack"Tb4b4b4: Ta5d6ff"Reticulum Stack"Tb4b4b4,
Tff7b72"reticulum_stack_description"Tb4b4b4: Ta5d6ff"Manage the underlying Reticulum Network Stack."Tb4b4b4,
Tff7b72"reload_rns"Tb4b4b4: Ta5d6ff"Reload RNS"Tb4b4b4,
Tff7b72"reload_rns_description"Tb4b4b4: Ta5d6ff"Deregister all destinations, stop the current RNS instance, and reload it. This is useful for applying configuration changes or restarting the mesh network stack without restarting the entire application."Tb4b4b4,
Tff7b72"reloading_rns"Tb4b4b4: Ta5d6ff"Reloading RNS..."Tb4b4b4,
Tff7b72"restart_rns"Tb4b4b4: Ta5d6ff"Restart RNS"Tb4b4b4,
Tff7b72"reloaded_rns"Tb4b4b4: Ta5d6ff"Reticulum reloaded successfully"Tb4b4b4,
Tff7b72"announce_interval"Tb4b4b4: Ta5d6ff"Announce Interval"Tb4b4b4,
Tff7b72"stop_sync_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to stop syncing?"Tb4b4b4,
Tff7b72"sync_error_generic"Tb4b4b4: Ta5d6ff"Something went wrong. Try again later."Tb4b4b4,
Tff7b72"sync_complete"Tb4b4b4: Ta5d6ff"Sync complete. {count} messages received."Tb4b4b4,
Tff7b72"sync_error"Tb4b4b4: Ta5d6ff"Sync error: {status}"Tb4b4b4,
Tff7b72"propagation_sync_live"Tb4b4b4: Ta5d6ff"Syncing: {status} ({progress}%)"Tb4b4b4,
Tff7b72"propagation_sync_state"Tb4b4b4: Tb4b4b4{
Tff7b72"idle"Tb4b4b4: Ta5d6ff"Idle"Tb4b4b4,
Tff7b72"path_requested"Tb4b4b4: Ta5d6ff"Requesting path"Tb4b4b4,
Tff7b72"link_establishing"Tb4b4b4: Ta5d6ff"Establishing link"Tb4b4b4,
Tff7b72"link_established"Tb4b4b4: Ta5d6ff"Link established"Tb4b4b4,
Tff7b72"request_sent"Tb4b4b4: Ta5d6ff"Request sent"Tb4b4b4,
Tff7b72"receiving"Tb4b4b4: Ta5d6ff"Receiving messages"Tb4b4b4,
Tff7b72"response_received"Tb4b4b4: Ta5d6ff"Processing response"Tb4b4b4,
Tff7b72"complete"Tb4b4b4: Ta5d6ff"Complete"Tb4b4b4,
Tff7b72"no_path"Tb4b4b4: Ta5d6ff"No path to node"Tb4b4b4,
Tff7b72"link_failed"Tb4b4b4: Ta5d6ff"Link failed"Tb4b4b4,
Tff7b72"transfer_failed"Tb4b4b4: Ta5d6ff"Transfer failed"Tb4b4b4,
Tff7b72"no_identity_received"Tb4b4b4: Ta5d6ff"No identity received"Tb4b4b4,
Tff7b72"no_access"Tb4b4b4: Ta5d6ff"Access denied"Tb4b4b4,
Tff7b72"failed"Tb4b4b4: Ta5d6ff"Failed"Tb4b4b4,
Tff7b72"path_timeout"Tb4b4b4: Ta5d6ff"Path timed out"Tb4b4b4,
Tff7b72"unknown"Tb4b4b4: Ta5d6ff"Unknown state"
Tb4b4b4},
Tff7b72"switching_identity"Tb4b4b4: Ta5d6ff"Switching Identity..."Tb4b4b4,
Tff7b72"loading_identity"Tb4b4b4: Ta5d6ff"Loading your identity"Tb4b4b4,
Tff7b72"loading_overlay_kicker"Tb4b4b4: Ta5d6ff"One moment"Tb4b4b4,
Tff7b72"loading_overlay_title"Tb4b4b4: Ta5d6ff"Switching profile"Tb4b4b4,
Tff7b72"loading_overlay_subtitle"Tb4b4b4: Ta5d6ff"Loading your chats and settings. This usually takes a few seconds."Tb4b4b4,
Tff7b72"emergency_mode_active"Tb4b4b4: Ta5d6ff"Emergency Mode Active - Using in-memory database and restricted services."Tb4b4b4,
Tff7b72"backend_disconnected"Tb4b4b4: Ta5d6ff"Disconnected from backend"Tb4b4b4,
Tff7b72"backend_reconnected"Tb4b4b4: Ta5d6ff"Reconnected to backend"Tb4b4b4,
Tff7b72"blackhole_integration_enabled"Tb4b4b4: Ta5d6ff"Blackhole Integration"Tb4b4b4,
Tff7b72"blackhole_integration_description"Tb4b4b4: Ta5d6ff"Automatically blackhole identities at the Reticulum transport layer when banishing users in MeshChatX."Tb4b4b4,
Tff7b72"announce_limits"Tb4b4b4: Ta5d6ff"Announce Limits"Tb4b4b4,
Tff7b72"announce_limits_description"Tb4b4b4: Ta5d6ff"Limit how many announcements are kept in the database and how many are loaded at once. Clear a field and save to restore defaults."Tb4b4b4,
Tff7b72"announce_store_heading"Tb4b4b4: Ta5d6ff"Store incoming announces"Tb4b4b4,
Tff7b72"announce_store_description"Tb4b4b4: Ta5d6ff"When off, received announces of this type are not saved. This only affects storage and does not stop the network or your own announces. Your local NomadNet node will still be listed."Tb4b4b4,
Tff7b72"announce_store_lxmf"Tb4b4b4: Ta5d6ff"LXMF (lxmf.delivery)"Tb4b4b4,
Tff7b72"announce_store_lxst"Tb4b4b4: Ta5d6ff"LXST telephony (lxst.telephony)"Tb4b4b4,
Tff7b72"announce_store_nomad"Tb4b4b4: Ta5d6ff"NomadNet nodes (nomadnetwork.node)"Tb4b4b4,
Tff7b72"announce_store_prop"Tb4b4b4: Ta5d6ff"Propagation nodes (lxmf.propagation)"Tb4b4b4,
Tff7b72"announce_store_git"Tb4b4b4: Ta5d6ff"RNGit (git.repositories)"Tb4b4b4,
Tff7b72"announce_max_stored_heading"Tb4b4b4: Ta5d6ff"Max stored per aspect (database)"Tb4b4b4,
Tff7b72"announce_fetch_limit_heading"Tb4b4b4: Ta5d6ff"Default page size (API)"Tb4b4b4,
Tff7b72"announce_search_max_fetch"Tb4b4b4: Ta5d6ff"Max announces for search"Tb4b4b4,
Tff7b72"announce_search_max_fetch_hint"Tb4b4b4: Ta5d6ff"Maximum rows read from the database when you use text search on announces (per request)."Tb4b4b4,
Tff7b72"discovered_interfaces_max_return"Tb4b4b4: Ta5d6ff"Discovered interfaces cap"Tb4b4b4,
Tff7b72"discovered_interfaces_max_return_hint"Tb4b4b4: Ta5d6ff"Maximum discovered and active interface entries returned to the UI."Tb4b4b4,
Tff7b72"announce_limit_lxmf"Tb4b4b4: Ta5d6ff"LXMF"Tb4b4b4,
Tff7b72"announce_limit_nomadnet"Tb4b4b4: Ta5d6ff"NomadNet"Tb4b4b4,
Tff7b72"announce_limit_prop"Tb4b4b4: Ta5d6ff"Prop Nodes"Tb4b4b4,
Tff7b72"csp_settings"Tb4b4b4: Ta5d6ff"Content Security Policy (CSP)"Tb4b4b4,
Tff7b72"csp_description"Tb4b4b4: Ta5d6ff"Manually add allowed domains for various resources. This is useful for custom map servers, bots, or external integrations."Tb4b4b4,
Tff7b72"csp_extra_connect_src"Tb4b4b4: Ta5d6ff"Extra Connect Sources"Tb4b4b4,
Tff7b72"csp_extra_connect_src_description"Tb4b4b4: Ta5d6ff"Additional sources for fetch/websocket connections (e.g. https://api.example.com)."Tb4b4b4,
Tff7b72"csp_extra_img_src"Tb4b4b4: Ta5d6ff"Extra Image Sources"Tb4b4b4,
Tff7b72"csp_extra_img_src_description"Tb4b4b4: Ta5d6ff"Additional sources for images and tiles."Tb4b4b4,
Tff7b72"csp_extra_frame_src"Tb4b4b4: Ta5d6ff"Extra Frame Sources"Tb4b4b4,
Tff7b72"csp_extra_frame_src_description"Tb4b4b4: Ta5d6ff"Additional sources for iframes."Tb4b4b4,
Tff7b72"csp_extra_script_src"Tb4b4b4: Ta5d6ff"Extra Script Sources"Tb4b4b4,
Tff7b72"csp_extra_script_src_description"Tb4b4b4: Ta5d6ff"Additional sources for scripts (advanced use only)."Tb4b4b4,
Tff7b72"csp_extra_style_src"Tb4b4b4: Ta5d6ff"Extra Style Sources"Tb4b4b4,
Tff7b72"csp_extra_style_src_description"Tb4b4b4: Ta5d6ff"Additional sources for stylesheets."Tb4b4b4,
Tff7b72"location"Tb4b4b4: Ta5d6ff"Location"Tb4b4b4,
Tff7b72"location_source"Tb4b4b4: Ta5d6ff"Location Source"Tb4b4b4,
Tff7b72"location_source_browser"Tb4b4b4: Ta5d6ff"Automatic (Browser)"Tb4b4b4,
Tff7b72"location_source_manual"Tb4b4b4: Ta5d6ff"Manual"Tb4b4b4,
Tff7b72"location_source_browser_desc"Tb4b4b4: Ta5d6ff"Uses your browser's geolocation API. Note: In the desktop app, this may use Google services."Tb4b4b4,
Tff7b72"location_source_manual_desc"Tb4b4b4: Ta5d6ff"Use manually entered coordinates for maximum privacy."Tb4b4b4,
Tff7b72"location_manual_lat"Tb4b4b4: Ta5d6ff"Latitude"Tb4b4b4,
Tff7b72"location_manual_lon"Tb4b4b4: Ta5d6ff"Longitude"Tb4b4b4,
Tff7b72"location_manual_alt"Tb4b4b4: Ta5d6ff"Altitude (m)"Tb4b4b4,
Tff7b72"telemetry_enabled"Tb4b4b4: Ta5d6ff"Telemetry Enabled"Tb4b4b4,
Tff7b72"telemetry_description"Tb4b4b4: Ta5d6ff"Allow MeshChatX to send and receive telemetry data, such as responding to location requests from trusted peers."Tb4b4b4,
Tff7b72"telemetry_trusted_peers"Tb4b4b4: Ta5d6ff"Trusted Telemetry Peers"Tb4b4b4,
Tff7b72"telemetry_no_trusted_peers"Tb4b4b4: Ta5d6ff"No trusted peers configured. Trust peers from the chat menu to allow them to request your location."Tb4b4b4,
Tff7b72"telemetry_revoke_trust"Tb4b4b4: Ta5d6ff"Revoke Trust"Tb4b4b4,
Tff7b72"telemetry_trust_revoked"Tb4b4b4: Ta5d6ff"Revoked telemetry trust for {name}"Tb4b4b4,
Tff7b72"telemetry_trust_granted_alert"Tb4b4b4: Ta5d6ff"Peer is now trusted for telemetry."Tb4b4b4,
Tff7b72"telemetry_trust_revoked_alert"Tb4b4b4: Ta5d6ff"Telemetry trust revoked."Tb4b4b4,
Tff7b72"telemetry_trust_failed"Tb4b4b4: Ta5d6ff"Failed to update telemetry trust."Tb4b4b4,
Tff7b72"telemetry_trust_revoke"Tb4b4b4: Ta5d6ff"Revoke Telemetry Trust"Tb4b4b4,
Tff7b72"telemetry_trust_grant"Tb4b4b4: Ta5d6ff"Trust for Telemetry"Tb4b4b4,
Tff7b72"location_manage_desc"Tb4b4b4: Ta5d6ff"Manage how your location is shared."
Tb4b4b4},
Tff7b72"common"Tb4b4b4: Tb4b4b4{
Tff7b72"open"Tb4b4b4: Ta5d6ff"Open"Tb4b4b4,
Tff7b72"close"Tb4b4b4: Ta5d6ff"Close"Tb4b4b4,
Tff7b72"cancel"Tb4b4b4: Ta5d6ff"Cancel"Tb4b4b4,
Tff7b72"save"Tb4b4b4: Ta5d6ff"Save"Tb4b4b4,
Tff7b72"block"Tb4b4b4: Ta5d6ff"Banish"Tb4b4b4,
Tff7b72"delete"Tb4b4b4: Ta5d6ff"Delete"Tb4b4b4,
Tff7b72"edit"Tb4b4b4: Ta5d6ff"Edit"Tb4b4b4,
Tff7b72"add"Tb4b4b4: Ta5d6ff"Add"Tb4b4b4,
Tff7b72"sync"Tb4b4b4: Ta5d6ff"Sync"Tb4b4b4,
Tff7b72"restart_app"Tb4b4b4: Ta5d6ff"Restart App"Tb4b4b4,
Tff7b72"reveal"Tb4b4b4: Ta5d6ff"Reveal"Tb4b4b4,
Tff7b72"refresh"Tb4b4b4: Ta5d6ff"Refresh"Tb4b4b4,
Tff7b72"copy"Tb4b4b4: Ta5d6ff"Copy"Tb4b4b4,
Tff7b72"copy_to_clipboard"Tb4b4b4: Ta5d6ff"Copy to clipboard"Tb4b4b4,
Tff7b72"vacuum"Tb4b4b4: Ta5d6ff"Vacuum"Tb4b4b4,
Tff7b72"auto_recover"Tb4b4b4: Ta5d6ff"Auto Recover"Tb4b4b4,
Tff7b72"shutdown"Tb4b4b4: Ta5d6ff"Shutdown"Tb4b4b4,
Tff7b72"acknowledge_reset"Tb4b4b4: Ta5d6ff"Acknowledge & Reset"Tb4b4b4,
Tff7b72"continue"Tb4b4b4: Ta5d6ff"Continue"Tb4b4b4,
Tff7b72"confirm"Tb4b4b4: Ta5d6ff"Confirm"Tb4b4b4,
Tff7b72"delete_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to delete this? This cannot be undone."Tb4b4b4,
Tff7b72"search"Tb4b4b4: Ta5d6ff"Search tools..."Tb4b4b4,
Tff7b72"no_results"Tb4b4b4: Ta5d6ff"No tools found"Tb4b4b4,
Tff7b72"error"Tb4b4b4: Ta5d6ff"Error"Tb4b4b4,
Tff7b72"success"Tb4b4b4: Ta5d6ff"Success"Tb4b4b4,
Tff7b72"warning"Tb4b4b4: Ta5d6ff"Warning"Tb4b4b4,
Tff7b72"info"Tb4b4b4: Ta5d6ff"Info"Tb4b4b4,
Tff7b72"copied"Tb4b4b4: Ta5d6ff"Copied to clipboard"Tb4b4b4,
Tff7b72"failed_to_copy"Tb4b4b4: Ta5d6ff"Failed to copy to clipboard"Tb4b4b4,
Tff7b72"save_failed"Tb4b4b4: Ta5d6ff"Failed to save configuration!"Tb4b4b4,
Tff7b72"invalid_address"Tb4b4b4: Ta5d6ff"Invalid Address"Tb4b4b4,
Tff7b72"loading"Tb4b4b4: Ta5d6ff"Loading..."Tb4b4b4,
Tff7b72"ok"Tb4b4b4: Ta5d6ff"OK"Tb4b4b4,
Tff7b72"clear"Tb4b4b4: Ta5d6ff"Clear"
Tb4b4b4},
Tff7b72"stickers"Tb4b4b4: Tb4b4b4{
Tff7b72"settings_title"Tb4b4b4: Ta5d6ff"Stickers"Tb4b4b4,
Tff7b72"settings_description"Tb4b4b4: Ta5d6ff"Your saved images for this identity. Use them in messages or save images from chats. You can also export or import a backup."Tb4b4b4,
Tff7b72"export"Tb4b4b4: Ta5d6ff"Export stickers"Tb4b4b4,
Tff7b72"import"Tb4b4b4: Ta5d6ff"Import stickers"Tb4b4b4,
Tff7b72"export_done"Tb4b4b4: Ta5d6ff"Stickers exported"Tb4b4b4,
Tff7b72"replace_duplicates"Tb4b4b4: Ta5d6ff"Replace duplicate images when importing"Tb4b4b4,
Tff7b72"count"Tb4b4b4: Ta5d6ff"{count} saved sticker(s)"Tb4b4b4,
Tff7b72"open_picker"Tb4b4b4: Ta5d6ff"Stickers"Tb4b4b4,
Tff7b72"picker_tooltip"Tb4b4b4: Ta5d6ff"Emoji, stickers, and GIFs"Tb4b4b4,
Tff7b72"tab_emojis"Tb4b4b4: Ta5d6ff"Emojis"Tb4b4b4,
Tff7b72"tab_stickers"Tb4b4b4: Ta5d6ff"Stickers"Tb4b4b4,
Tff7b72"empty_library"Tb4b4b4: Ta5d6ff"No stickers yet."Tb4b4b4,
Tff7b72"drop_or_click_hint"Tb4b4b4: Ta5d6ff"Drop images here or click to browse (PNG, JPEG, GIF, WebP, BMP, TGS, WebM, max 512 KB each)."Tb4b4b4,
Tff7b72"add_more_hint"Tb4b4b4: Ta5d6ff"Drop or click to add more stickers."Tb4b4b4,
Tff7b72"file_too_large"Tb4b4b4: Ta5d6ff"Each sticker must fit within its format limit (TGS 64 KB, WebM 256 KB, image 512 KB)."Tb4b4b4,
Tff7b72"unsupported_type"Tb4b4b4: Ta5d6ff"Use PNG, JPEG, GIF, WebP, BMP, TGS, or WebM."Tb4b4b4,
Tff7b72"uploaded_count"Tb4b4b4: Ta5d6ff"Added {count} sticker(s)."Tb4b4b4,
Tff7b72"save_to_library"Tb4b4b4: Ta5d6ff"Save image to stickers"Tb4b4b4,
Tff7b72"saved"Tb4b4b4: Ta5d6ff"Sticker saved"Tb4b4b4,
Tff7b72"duplicate"Tb4b4b4: Ta5d6ff"Already in your library"Tb4b4b4,
Tff7b72"save_failed"Tb4b4b4: Ta5d6ff"Could not save sticker"Tb4b4b4,
Tff7b72"import_success"Tb4b4b4: Ta5d6ff"Imported {imported}, skipped {skipped_duplicates} duplicates, invalid {skipped_invalid}"Tb4b4b4,
Tff7b72"import_failed"Tb4b4b4: Ta5d6ff"Failed to import stickers"Tb4b4b4,
Tff7b72"all_stickers"Tb4b4b4: Ta5d6ff"All stickers"Tb4b4b4,
Tff7b72"unpacked"Tb4b4b4: Ta5d6ff"Unpacked"Tb4b4b4,
Tff7b72"open_editor"Tb4b4b4: Ta5d6ff"Open sticker editor"Tb4b4b4,
Tff7b72"upload_short"Tb4b4b4: Ta5d6ff"Upload"Tb4b4b4,
Tff7b72"format_static"Tb4b4b4: Ta5d6ff"Static"Tb4b4b4,
Tff7b72"format_animated"Tb4b4b4: Ta5d6ff"Animated"Tb4b4b4,
Tff7b72"format_video"Tb4b4b4: Ta5d6ff"Video"Tb4b4b4,
Tff7b72"format_legacy"Tb4b4b4: Ta5d6ff"Legacy"Tb4b4b4,
Tff7b72"errors"Tb4b4b4: Tb4b4b4{
Tff7b72"file_too_large_static"Tb4b4b4: Ta5d6ff"Static stickers must be 512 KB or smaller."Tb4b4b4,
Tff7b72"file_too_large_animated"Tb4b4b4: Ta5d6ff"Animated TGS stickers must be 64 KB or smaller."Tb4b4b4,
Tff7b72"file_too_large_video"Tb4b4b4: Ta5d6ff"Video WEBM stickers must be 256 KB or smaller."Tb4b4b4,
Tff7b72"invalid_dimensions"Tb4b4b4: Ta5d6ff"Stickers must be at most 512x512 pixels with one side exactly 512."Tb4b4b4,
Tff7b72"invalid_duration"Tb4b4b4: Ta5d6ff"Animated and video stickers must be 3 seconds or shorter."Tb4b4b4,
Tff7b72"invalid_fps"Tb4b4b4: Ta5d6ff"Animated stickers must be 30-60 FPS, video stickers up to 30 FPS."Tb4b4b4,
Tff7b72"invalid_codec"Tb4b4b4: Ta5d6ff"Video stickers must use the VP9 codec."Tb4b4b4,
Tff7b72"invalid_audio"Tb4b4b4: Ta5d6ff"Video stickers must not contain an audio stream."Tb4b4b4,
Tff7b72"invalid_tgs"Tb4b4b4: Ta5d6ff"Could not read TGS animation."Tb4b4b4,
Tff7b72"invalid_webm"Tb4b4b4: Ta5d6ff"Could not read WebM video."
Tb4b4b4},
Tff7b72"packs"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Sticker packs"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Group stickers into packs you can share or import."Tb4b4b4,
Tff7b72"create"Tb4b4b4: Ta5d6ff"New pack"Tb4b4b4,
Tff7b72"create_pack"Tb4b4b4: Ta5d6ff"Create sticker pack"Tb4b4b4,
Tff7b72"title_label"Tb4b4b4: Ta5d6ff"Title"Tb4b4b4,
Tff7b72"title_placeholder"Tb4b4b4: Ta5d6ff"My pack"Tb4b4b4,
Tff7b72"short_name_label"Tb4b4b4: Ta5d6ff"Short name"Tb4b4b4,
Tff7b72"short_name_placeholder"Tb4b4b4: Ta5d6ff"e.g. cats"Tb4b4b4,
Tff7b72"description_label"Tb4b4b4: Ta5d6ff"Description"Tb4b4b4,
Tff7b72"type_label"Tb4b4b4: Ta5d6ff"Type"Tb4b4b4,
Tff7b72"type_static"Tb4b4b4: Ta5d6ff"Static"Tb4b4b4,
Tff7b72"type_animated"Tb4b4b4: Ta5d6ff"Animated"Tb4b4b4,
Tff7b72"type_video"Tb4b4b4: Ta5d6ff"Video"Tb4b4b4,
Tff7b72"type_mixed"Tb4b4b4: Ta5d6ff"Mixed"Tb4b4b4,
Tff7b72"save"Tb4b4b4: Ta5d6ff"Save"Tb4b4b4,
Tff7b72"cancel"Tb4b4b4: Ta5d6ff"Cancel"Tb4b4b4,
Tff7b72"open_editor"Tb4b4b4: Ta5d6ff"Add stickers"Tb4b4b4,
Tff7b72"export"Tb4b4b4: Ta5d6ff"Export pack"Tb4b4b4,
Tff7b72"import"Tb4b4b4: Ta5d6ff"Import pack"Tb4b4b4,
Tff7b72"delete"Tb4b4b4: Ta5d6ff"Delete pack"Tb4b4b4,
Tff7b72"delete_confirm"Tb4b4b4: Ta5d6ff"Delete this pack?"Tb4b4b4,
Tff7b72"delete_with_stickers"Tb4b4b4: Ta5d6ff"Also delete stickers in this pack"Tb4b4b4,
Tff7b72"deleted"Tb4b4b4: Ta5d6ff"Pack deleted"Tb4b4b4,
Tff7b72"created"Tb4b4b4: Ta5d6ff"Pack created"Tb4b4b4,
Tff7b72"exported"Tb4b4b4: Ta5d6ff"Pack exported"Tb4b4b4,
Tff7b72"installed"Tb4b4b4: Ta5d6ff"Pack installed: imported {imported}, skipped {skipped}"Tb4b4b4,
Tff7b72"install_failed"Tb4b4b4: Ta5d6ff"Failed to install pack"Tb4b4b4,
Tff7b72"empty"Tb4b4b4: Ta5d6ff"No packs yet."Tb4b4b4,
Tff7b72"count_one"Tb4b4b4: Ta5d6ff"{count} sticker"Tb4b4b4,
Tff7b72"count_other"Tb4b4b4: Ta5d6ff"{count} stickers"Tb4b4b4,
Tff7b72"stickers_in_pack"Tb4b4b4: Ta5d6ff"Stickers in {title}"Tb4b4b4,
Tff7b72"no_stickers"Tb4b4b4: Ta5d6ff"No stickers in this pack yet."
Tb4b4b4},
Tff7b72"editor"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Sticker editor"Tb4b4b4,
Tff7b72"open"Tb4b4b4: Ta5d6ff"Open editor"Tb4b4b4,
Tff7b72"select_image"Tb4b4b4: Ta5d6ff"Select image"Tb4b4b4,
Tff7b72"drop_image"Tb4b4b4: Ta5d6ff"Drop an image, or click to browse"Tb4b4b4,
Tff7b72"reset"Tb4b4b4: Ta5d6ff"Reset"Tb4b4b4,
Tff7b72"remove_background"Tb4b4b4: Ta5d6ff"Remove background"Tb4b4b4,
Tff7b72"removing_background"Tb4b4b4: Ta5d6ff"Removing background..."Tb4b4b4,
Tff7b72"white_stroke"Tb4b4b4: Ta5d6ff"White stroke"Tb4b4b4,
Tff7b72"shadow"Tb4b4b4: Ta5d6ff"Drop shadow"Tb4b4b4,
Tff7b72"stroke_size"Tb4b4b4: Ta5d6ff"Stroke size"Tb4b4b4,
Tff7b72"scale"Tb4b4b4: Ta5d6ff"Scale"Tb4b4b4,
Tff7b72"rotate"Tb4b4b4: Ta5d6ff"Rotate"Tb4b4b4,
Tff7b72"offset_x"Tb4b4b4: Ta5d6ff"Offset X"Tb4b4b4,
Tff7b72"offset_y"Tb4b4b4: Ta5d6ff"Offset Y"Tb4b4b4,
Tff7b72"text_overlay"Tb4b4b4: Ta5d6ff"Text overlay"Tb4b4b4,
Tff7b72"text_placeholder"Tb4b4b4: Ta5d6ff"Add text..."Tb4b4b4,
Tff7b72"text_color"Tb4b4b4: Ta5d6ff"Text color"Tb4b4b4,
Tff7b72"text_size"Tb4b4b4: Ta5d6ff"Text size"Tb4b4b4,
Tff7b72"format"Tb4b4b4: Ta5d6ff"Export format"Tb4b4b4,
Tff7b72"format_png"Tb4b4b4: Ta5d6ff"PNG"Tb4b4b4,
Tff7b72"format_webp"Tb4b4b4: Ta5d6ff"WebP"Tb4b4b4,
Tff7b72"quality"Tb4b4b4: Ta5d6ff"Quality"Tb4b4b4,
Tff7b72"emoji"Tb4b4b4: Ta5d6ff"Emoji"Tb4b4b4,
Tff7b72"emoji_placeholder"Tb4b4b4: Ta5d6ff"Optional"Tb4b4b4,
Tff7b72"pack"Tb4b4b4: Ta5d6ff"Pack"Tb4b4b4,
Tff7b72"no_pack"Tb4b4b4: Ta5d6ff"No pack"Tb4b4b4,
Tff7b72"save"Tb4b4b4: Ta5d6ff"Save sticker"Tb4b4b4,
Tff7b72"saved"Tb4b4b4: Ta5d6ff"Sticker saved"Tb4b4b4,
Tff7b72"save_failed"Tb4b4b4: Ta5d6ff"Could not save sticker"Tb4b4b4,
Tff7b72"current_size"Tb4b4b4: Ta5d6ff"Current size: {size}"Tb4b4b4,
Tff7b72"size_too_large"Tb4b4b4: Ta5d6ff"Result is larger than 512 KB. Try lowering quality or using PNG with simpler shapes."
Tb4b4b4}
Tb4b4b4},
Tff7b72"sticker_editor"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Sticker editor"Tb4b4b4,
Tff7b72"create_button"Tb4b4b4: Ta5d6ff"Create sticker"Tb4b4b4,
Tff7b72"processing"Tb4b4b4: Ta5d6ff"Processing..."Tb4b4b4,
Tff7b72"canvas_hint"Tb4b4b4: Ta5d6ff"Preview is scaled to fit. Export uses a 512×512 canvas."Tb4b4b4,
Tff7b72"section_source"Tb4b4b4: Ta5d6ff"Source"Tb4b4b4,
Tff7b72"choose_image"Tb4b4b4: Ta5d6ff"Choose image"Tb4b4b4,
Tff7b72"section_transform"Tb4b4b4: Ta5d6ff"Transform"Tb4b4b4,
Tff7b72"scale"Tb4b4b4: Ta5d6ff"Scale"Tb4b4b4,
Tff7b72"rotation"Tb4b4b4: Ta5d6ff"Rotation"Tb4b4b4,
Tff7b72"flip_h"Tb4b4b4: Ta5d6ff"Flip horizontal"Tb4b4b4,
Tff7b72"flip_v"Tb4b4b4: Ta5d6ff"Flip vertical"Tb4b4b4,
Tff7b72"reset_transform"Tb4b4b4: Ta5d6ff"Reset transform"Tb4b4b4,
Tff7b72"section_effects"Tb4b4b4: Ta5d6ff"Effects"Tb4b4b4,
Tff7b72"bg_removed"Tb4b4b4: Ta5d6ff"Background removed"Tb4b4b4,
Tff7b72"remove_background"Tb4b4b4: Ta5d6ff"Remove background"Tb4b4b4,
Tff7b72"white_stroke"Tb4b4b4: Ta5d6ff"White stroke"Tb4b4b4,
Tff7b72"shadow"Tb4b4b4: Ta5d6ff"Drop shadow"Tb4b4b4,
Tff7b72"section_overlay"Tb4b4b4: Ta5d6ff"Text overlay"Tb4b4b4,
Tff7b72"overlay_placeholder"Tb4b4b4: Ta5d6ff"Add text..."Tb4b4b4,
Tff7b72"font_size"Tb4b4b4: Ta5d6ff"Font size"Tb4b4b4,
Tff7b72"overlay_y"Tb4b4b4: Ta5d6ff"Vertical position"Tb4b4b4,
Tff7b72"text_color"Tb4b4b4: Ta5d6ff"Text color"Tb4b4b4,
Tff7b72"stroke_color"Tb4b4b4: Ta5d6ff"Stroke color"Tb4b4b4,
Tff7b72"section_meta"Tb4b4b4: Ta5d6ff"Details"Tb4b4b4,
Tff7b72"name_placeholder"Tb4b4b4: Ta5d6ff"Sticker name"Tb4b4b4,
Tff7b72"emoji_placeholder"Tb4b4b4: Ta5d6ff"Emoji (optional)"Tb4b4b4,
Tff7b72"format"Tb4b4b4: Ta5d6ff"Export format"Tb4b4b4,
Tff7b72"quality"Tb4b4b4: Ta5d6ff"Quality"Tb4b4b4,
Tff7b72"size_label"Tb4b4b4: Ta5d6ff"Size: {size} (max {limit})"Tb4b4b4,
Tff7b72"cancel"Tb4b4b4: Ta5d6ff"Cancel"Tb4b4b4,
Tff7b72"save"Tb4b4b4: Ta5d6ff"Save sticker"Tb4b4b4,
Tff7b72"image_load_failed"Tb4b4b4: Ta5d6ff"Could not load image"Tb4b4b4,
Tff7b72"removing_background"Tb4b4b4: Ta5d6ff"Removing background..."Tb4b4b4,
Tff7b72"bg_removal_failed"Tb4b4b4: Ta5d6ff"Background removal failed"Tb4b4b4,
Tff7b72"too_large"Tb4b4b4: Ta5d6ff"Exported file is larger than 512 KB"Tb4b4b4,
Tff7b72"saving"Tb4b4b4: Ta5d6ff"Saving..."Tb4b4b4,
Tff7b72"saved"Tb4b4b4: Ta5d6ff"Sticker saved"Tb4b4b4,
Tff7b72"save_failed"Tb4b4b4: Ta5d6ff"Could not save sticker"
Tb4b4b4},
Tff7b72"sticker_packs"Tb4b4b4: Tb4b4b4{
Tff7b72"all"Tb4b4b4: Ta5d6ff"All"Tb4b4b4,
Tff7b72"section_title"Tb4b4b4: Ta5d6ff"Sticker packs"Tb4b4b4,
Tff7b72"section_description"Tb4b4b4: Ta5d6ff"Group stickers into packs you can share or import."Tb4b4b4,
Tff7b72"create"Tb4b4b4: Ta5d6ff"New pack"Tb4b4b4,
Tff7b72"open_editor"Tb4b4b4: Ta5d6ff"Add stickers"Tb4b4b4,
Tff7b72"install_from_file"Tb4b4b4: Ta5d6ff"Install from file"Tb4b4b4,
Tff7b72"empty"Tb4b4b4: Ta5d6ff"No packs yet."Tb4b4b4,
Tff7b72"count_label"Tb4b4b4: Ta5d6ff"{count} stickers"Tb4b4b4,
Tff7b72"add_sticker"Tb4b4b4: Ta5d6ff"Add sticker"Tb4b4b4,
Tff7b72"export"Tb4b4b4: Ta5d6ff"Export pack"Tb4b4b4,
Tff7b72"delete"Tb4b4b4: Ta5d6ff"Delete pack"Tb4b4b4,
Tff7b72"empty_pack"Tb4b4b4: Ta5d6ff"No stickers in this pack yet."Tb4b4b4,
Tff7b72"create_title"Tb4b4b4: Ta5d6ff"Create sticker pack"Tb4b4b4,
Tff7b72"field_title"Tb4b4b4: Ta5d6ff"Title"Tb4b4b4,
Tff7b72"field_short_name"Tb4b4b4: Ta5d6ff"Short name"Tb4b4b4,
Tff7b72"field_description"Tb4b4b4: Ta5d6ff"Description"Tb4b4b4,
Tff7b72"type_static"Tb4b4b4: Ta5d6ff"Static"Tb4b4b4,
Tff7b72"type_animated"Tb4b4b4: Ta5d6ff"Animated"Tb4b4b4,
Tff7b72"type_video"Tb4b4b4: Ta5d6ff"Video"Tb4b4b4,
Tff7b72"type_mixed"Tb4b4b4: Ta5d6ff"Mixed"Tb4b4b4,
Tff7b72"strict_label"Tb4b4b4: Ta5d6ff"Enforce pack type (reject mismatched uploads)"Tb4b4b4,
Tff7b72"created"Tb4b4b4: Ta5d6ff"Pack created"Tb4b4b4,
Tff7b72"create_failed"Tb4b4b4: Ta5d6ff"Could not create pack"Tb4b4b4,
Tff7b72"exported"Tb4b4b4: Ta5d6ff"Pack exported"Tb4b4b4,
Tff7b72"export_failed"Tb4b4b4: Ta5d6ff"Export failed"Tb4b4b4,
Tff7b72"confirm_delete"Tb4b4b4: Ta5d6ff"Delete pack \"{title}\"?"Tb4b4b4,
Tff7b72"deleted"Tb4b4b4: Ta5d6ff"Pack deleted"Tb4b4b4,
Tff7b72"delete_failed"Tb4b4b4: Ta5d6ff"Could not delete pack"Tb4b4b4,
Tff7b72"installed"Tb4b4b4: Ta5d6ff"Pack installed ({imported} imported)"Tb4b4b4,
Tff7b72"install_failed"Tb4b4b4: Ta5d6ff"Could not install pack"
Tb4b4b4},
Tff7b72"gifs"Tb4b4b4: Tb4b4b4{
Tff7b72"settings_title"Tb4b4b4: Ta5d6ff"GIFs"Tb4b4b4,
Tff7b72"settings_description"Tb4b4b4: Ta5d6ff"Your personal GIF library. Upload GIF and animated WebP files to reuse them in chats. Your most-used GIFs are shown first."Tb4b4b4,
Tff7b72"export"Tb4b4b4: Ta5d6ff"Export GIFs"Tb4b4b4,
Tff7b72"import"Tb4b4b4: Ta5d6ff"Import GIFs"Tb4b4b4,
Tff7b72"export_done"Tb4b4b4: Ta5d6ff"GIFs exported"Tb4b4b4,
Tff7b72"replace_duplicates"Tb4b4b4: Ta5d6ff"Replace duplicate GIFs when importing"Tb4b4b4,
Tff7b72"count"Tb4b4b4: Ta5d6ff"{count} saved GIF(s)"Tb4b4b4,
Tff7b72"tab_gifs"Tb4b4b4: Ta5d6ff"GIFs"Tb4b4b4,
Tff7b72"empty_library"Tb4b4b4: Ta5d6ff"No GIFs yet. Upload a GIF or save one from a chat."Tb4b4b4,
Tff7b72"drop_or_click_hint"Tb4b4b4: Ta5d6ff"Drop GIFs here or click to browse (GIF or WebP, max 5 MB each)."Tb4b4b4,
Tff7b72"add_more_hint"Tb4b4b4: Ta5d6ff"Drop or click to add more GIFs."Tb4b4b4,
Tff7b72"file_too_large"Tb4b4b4: Ta5d6ff"Each GIF must be 5 MB or smaller."Tb4b4b4,
Tff7b72"unsupported_type"Tb4b4b4: Ta5d6ff"Use GIF or WebP files only."Tb4b4b4,
Tff7b72"uploaded_count"Tb4b4b4: Ta5d6ff"Added {count} GIF(s)."Tb4b4b4,
Tff7b72"save_to_library"Tb4b4b4: Ta5d6ff"Save image to GIFs"Tb4b4b4,
Tff7b72"saved"Tb4b4b4: Ta5d6ff"GIF saved"Tb4b4b4,
Tff7b72"duplicate"Tb4b4b4: Ta5d6ff"Already in your GIF library"Tb4b4b4,
Tff7b72"save_failed"Tb4b4b4: Ta5d6ff"Could not save GIF"Tb4b4b4,
Tff7b72"import_success"Tb4b4b4: Ta5d6ff"Imported {imported}, skipped {skipped_duplicates} duplicates, invalid {skipped_invalid}"Tb4b4b4,
Tff7b72"import_failed"Tb4b4b4: Ta5d6ff"Failed to import GIFs"
Tb4b4b4},
Tff7b72"maintenance"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Maintenance & Data"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Manage your local data, clear caches, and backup conversations."Tb4b4b4,
Tff7b72"clear_messages"Tb4b4b4: Ta5d6ff"Clear All Messages"Tb4b4b4,
Tff7b72"clear_messages_desc"Tb4b4b4: Ta5d6ff"Permanently delete all sent and received messages."Tb4b4b4,
Tff7b72"clear_announces"Tb4b4b4: Ta5d6ff"Clear All Announces"Tb4b4b4,
Tff7b72"clear_announces_desc"Tb4b4b4: Ta5d6ff"Remove all discovered peers and nodes from your cache."Tb4b4b4,
Tff7b72"clear_nomadnet_favs"Tb4b4b4: Ta5d6ff"Clear NomadNetwork Favorites"Tb4b4b4,
Tff7b72"clear_nomadnet_favs_desc"Tb4b4b4: Ta5d6ff"Remove all saved NomadNetwork nodes from your favorites."Tb4b4b4,
Tff7b72"clear_lxmf_icons"Tb4b4b4: Ta5d6ff"Clear LXMF Icons"Tb4b4b4,
Tff7b72"clear_lxmf_icons_desc"Tb4b4b4: Ta5d6ff"Remove cached LXMF user icons from your device."Tb4b4b4,
Tff7b72"clear_stickers"Tb4b4b4: Ta5d6ff"Clear All Stickers"Tb4b4b4,
Tff7b72"clear_stickers_desc"Tb4b4b4: Ta5d6ff"Remove every saved sticker image for this identity."Tb4b4b4,
Tff7b72"stickers_cleared"Tb4b4b4: Ta5d6ff"Stickers cleared"Tb4b4b4,
Tff7b72"clear_gifs"Tb4b4b4: Ta5d6ff"Clear All GIFs"Tb4b4b4,
Tff7b72"clear_gifs_desc"Tb4b4b4: Ta5d6ff"Remove every saved GIF for this identity."Tb4b4b4,
Tff7b72"gifs_cleared"Tb4b4b4: Ta5d6ff"GIFs cleared"Tb4b4b4,
Tff7b72"clear_archives"Tb4b4b4: Ta5d6ff"Clear Page Archives"Tb4b4b4,
Tff7b72"clear_archives_desc"Tb4b4b4: Ta5d6ff"Delete all cached NomadNetwork pages."Tb4b4b4,
Tff7b72"clear_reticulum_docs"Tb4b4b4: Ta5d6ff"Clear Reticulum Docs"Tb4b4b4,
Tff7b72"clear_reticulum_docs_desc"Tb4b4b4: Ta5d6ff"Removes all downloaded Reticulum documentation and versions."Tb4b4b4,
Tff7b72"export_messages"Tb4b4b4: Ta5d6ff"Export Messages"Tb4b4b4,
Tff7b72"export_messages_desc"Tb4b4b4: Ta5d6ff"Download all conversations as a JSON file."Tb4b4b4,
Tff7b72"import_messages"Tb4b4b4: Ta5d6ff"Import Messages"Tb4b4b4,
Tff7b72"import_messages_desc"Tb4b4b4: Ta5d6ff"Restore conversations from a JSON file."Tb4b4b4,
Tff7b72"clear_confirm"Tb4b4b4: Ta5d6ff"Are you sure? This action cannot be undone."Tb4b4b4,
Tff7b72"messages_cleared"Tb4b4b4: Ta5d6ff"Messages cleared successfully"Tb4b4b4,
Tff7b72"announces_cleared"Tb4b4b4: Ta5d6ff"Announces cleared successfully"Tb4b4b4,
Tff7b72"favourites_cleared"Tb4b4b4: Ta5d6ff"Favorites cleared successfully"Tb4b4b4,
Tff7b72"lxmf_icons_cleared"Tb4b4b4: Ta5d6ff"LXMF icons cleared successfully"Tb4b4b4,
Tff7b72"archives_cleared"Tb4b4b4: Ta5d6ff"Archives cleared successfully"Tb4b4b4,
Tff7b72"docs_cleared"Tb4b4b4: Ta5d6ff"Reticulum documentation cleared successfully"Tb4b4b4,
Tff7b72"import_success"Tb4b4b4: Ta5d6ff"Successfully imported {count} messages"Tb4b4b4,
Tff7b72"import_failed"Tb4b4b4: Ta5d6ff"Failed to import messages"Tb4b4b4,
Tff7b72"export_nomadnet_favourites"Tb4b4b4: Ta5d6ff"Export NomadNet favourites"Tb4b4b4,
Tff7b72"import_nomadnet_favourites"Tb4b4b4: Ta5d6ff"Import NomadNet favourites"Tb4b4b4,
Tff7b72"nomadnet_favourites_exported"Tb4b4b4: Ta5d6ff"NomadNet favourites layout exported"Tb4b4b4,
Tff7b72"nomadnet_favourites_export_failed"Tb4b4b4: Ta5d6ff"Could not export NomadNet favourites"Tb4b4b4,
Tff7b72"nomadnet_favourites_imported"Tb4b4b4: Ta5d6ff"NomadNet favourites layout imported"Tb4b4b4,
Tff7b72"nomadnet_favourites_import_failed"Tb4b4b4: Ta5d6ff"Could not import NomadNet favourites file"
Tb4b4b4},
Tff7b72"identities"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Identities"Tb4b4b4,
Tff7b72"manage"Tb4b4b4: Ta5d6ff"Manage and switch between multiple Reticulum identities."Tb4b4b4,
Tff7b72"new_identity"Tb4b4b4: Ta5d6ff"New Identity"Tb4b4b4,
Tff7b72"import"Tb4b4b4: Ta5d6ff"Import"Tb4b4b4,
Tff7b72"import_hint"Tb4b4b4: Ta5d6ff"Upload a key file or paste a Base32 identity key."Tb4b4b4,
Tff7b72"export_all"Tb4b4b4: Ta5d6ff"Export all identities"Tb4b4b4,
Tff7b72"export_all_success"Tb4b4b4: Ta5d6ff"All identity keys exported"Tb4b4b4,
Tff7b72"export_all_failed"Tb4b4b4: Ta5d6ff"Failed to export identities"Tb4b4b4,
Tff7b72"generate_fresh"Tb4b4b4: Ta5d6ff"Generate a fresh Reticulum identity."Tb4b4b4,
Tff7b72"display_name"Tb4b4b4: Ta5d6ff"Display Name"Tb4b4b4,
Tff7b72"display_name_hint"Tb4b4b4: Ta5d6ff"e.g. Secret Agent"Tb4b4b4,
Tff7b72"current"Tb4b4b4: Ta5d6ff"Current"Tb4b4b4,
Tff7b72"switch"Tb4b4b4: Ta5d6ff"Switch to this identity"Tb4b4b4,
Tff7b72"delete"Tb4b4b4: Ta5d6ff"Delete identity"Tb4b4b4,
Tff7b72"no_identities"Tb4b4b4: Ta5d6ff"No identities found"Tb4b4b4,
Tff7b72"create_first"Tb4b4b4: Ta5d6ff"Create a new identity to get started."Tb4b4b4,
Tff7b72"switch_confirm"Tb4b4b4: Ta5d6ff"Switch to identity \"{name}\"?"Tb4b4b4,
Tff7b72"delete_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to delete identity \"{name}\"? This cannot be undone."Tb4b4b4,
Tff7b72"switched"Tb4b4b4: Ta5d6ff"Identity switched successfully."Tb4b4b4,
Tff7b72"created"Tb4b4b4: Ta5d6ff"Identity created successfully"Tb4b4b4,
Tff7b72"deleted"Tb4b4b4: Ta5d6ff"Identity deleted"Tb4b4b4,
Tff7b72"failed_load"Tb4b4b4: Ta5d6ff"Failed to load identities"Tb4b4b4,
Tff7b72"enter_display_name_warning"Tb4b4b4: Ta5d6ff"Please enter a display name"Tb4b4b4,
Tff7b72"failed_create"Tb4b4b4: Ta5d6ff"Failed to create identity"Tb4b4b4,
Tff7b72"switch_scheduled"Tb4b4b4: Ta5d6ff"Switch scheduled. Reloading application..."Tb4b4b4,
Tff7b72"failed_switch"Tb4b4b4: Ta5d6ff"Failed to switch identity"Tb4b4b4,
Tff7b72"failed_delete"Tb4b4b4: Ta5d6ff"Failed to delete identity"Tb4b4b4,
Tff7b72"key_control"Tb4b4b4: Ta5d6ff"Identity key control"Tb4b4b4,
Tff7b72"export_key_file"Tb4b4b4: Ta5d6ff"Export key file"Tb4b4b4,
Tff7b72"copy_base32"Tb4b4b4: Ta5d6ff"Copy Base32 key"Tb4b4b4,
Tff7b72"upload_key_file"Tb4b4b4: Ta5d6ff"Upload key file"Tb4b4b4,
Tff7b72"paste_base32"Tb4b4b4: Ta5d6ff"Paste Base32"Tb4b4b4,
Tff7b72"paste_base32_placeholder"Tb4b4b4: Ta5d6ff"Paste your base32 identity key here..."Tb4b4b4,
Tff7b72"confirm_restore"Tb4b4b4: Ta5d6ff"Confirm restore"Tb4b4b4,
Tff7b72"restoring"Tb4b4b4: Ta5d6ff"Restoring..."Tb4b4b4,
Tff7b72"identity_exported"Tb4b4b4: Ta5d6ff"Identity key file exported"Tb4b4b4,
Tff7b72"identity_copied"Tb4b4b4: Ta5d6ff"Identity Base32 key copied to clipboard"Tb4b4b4,
Tff7b72"identity_export_failed"Tb4b4b4: Ta5d6ff"Failed to export identity"Tb4b4b4,
Tff7b72"identity_copy_failed"Tb4b4b4: Ta5d6ff"Failed to copy identity"Tb4b4b4,
Tff7b72"identity_restored"Tb4b4b4: Ta5d6ff"Identity imported."Tb4b4b4,
Tff7b72"identity_restore_failed"Tb4b4b4: Ta5d6ff"Identity restore failed"Tb4b4b4,
Tff7b72"no_identity_available"Tb4b4b4: Ta5d6ff"No identity available"Tb4b4b4,
Tff7b72"message_count"Tb4b4b4: Ta5d6ff"{count} messages"
Tb4b4b4},
Tff7b72"about"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"About"Tb4b4b4,
Tff7b72"third_party_licenses"Tb4b4b4: Ta5d6ff"Third-party licenses"Tb4b4b4,
Tff7b72"version"Tb4b4b4: Ta5d6ff"v{version}"Tb4b4b4,
Tff7b72"ui_build"Tb4b4b4: Ta5d6ff"UI build {date}"Tb4b4b4,
Tff7b72"rns_version"Tb4b4b4: Ta5d6ff"RNS {version}"Tb4b4b4,
Tff7b72"lxmf_version"Tb4b4b4: Ta5d6ff"LXMF {version}"Tb4b4b4,
Tff7b72"python_version"Tb4b4b4: Ta5d6ff"Python {version}"Tb4b4b4,
Tff7b72"config_path"Tb4b4b4: Ta5d6ff"Config path"Tb4b4b4,
Tff7b72"database_path"Tb4b4b4: Ta5d6ff"Database path"Tb4b4b4,
Tff7b72"database_size"Tb4b4b4: Ta5d6ff"Database size"Tb4b4b4,
Tff7b72"database_health"Tb4b4b4: Ta5d6ff"Database Health"Tb4b4b4,
Tff7b72"database_health_description"Tb4b4b4: Ta5d6ff"Quick check, WAL tuning, and recovery tools for the MeshChatX database."Tb4b4b4,
Tff7b72"running_checks"Tb4b4b4: Ta5d6ff"Running checks..."Tb4b4b4,
Tff7b72"integrity"Tb4b4b4: Ta5d6ff"Integrity"Tb4b4b4,
Tff7b72"journal_mode"Tb4b4b4: Ta5d6ff"Journal mode"Tb4b4b4,
Tff7b72"wal_autocheckpoint"Tb4b4b4: Ta5d6ff"WAL autocheckpoint"Tb4b4b4,
Tff7b72"page_size"Tb4b4b4: Ta5d6ff"Page size"Tb4b4b4,
Tff7b72"pages_free"Tb4b4b4: Ta5d6ff"Pages / Free"Tb4b4b4,
Tff7b72"free_space_estimate"Tb4b4b4: Ta5d6ff"Free space estimate"Tb4b4b4,
Tff7b72"system_resources"Tb4b4b4: Ta5d6ff"System Resources"Tb4b4b4,
Tff7b72"live"Tb4b4b4: Ta5d6ff"Live"Tb4b4b4,
Tff7b72"memory_rss"Tb4b4b4: Ta5d6ff"Memory (RSS)"Tb4b4b4,
Tff7b72"virtual_memory"Tb4b4b4: Ta5d6ff"Virtual Memory"Tb4b4b4,
Tff7b72"network_stats"Tb4b4b4: Ta5d6ff"Network Stats"Tb4b4b4,
Tff7b72"sent"Tb4b4b4: Ta5d6ff"Sent"Tb4b4b4,
Tff7b72"received"Tb4b4b4: Ta5d6ff"Received"Tb4b4b4,
Tff7b72"packets_sent"Tb4b4b4: Ta5d6ff"Packets Sent"Tb4b4b4,
Tff7b72"packets_received"Tb4b4b4: Ta5d6ff"Packets Received"Tb4b4b4,
Tff7b72"reticulum_stats"Tb4b4b4: Ta5d6ff"Reticulum Stats"Tb4b4b4,
Tff7b72"total_paths"Tb4b4b4: Ta5d6ff"Total Paths"Tb4b4b4,
Tff7b72"announces_per_second"Tb4b4b4: Ta5d6ff"Announces / sec"Tb4b4b4,
Tff7b72"announces_per_minute"Tb4b4b4: Ta5d6ff"Announces / min"Tb4b4b4,
Tff7b72"announces_per_hour"Tb4b4b4: Ta5d6ff"Announces / hr"Tb4b4b4,
Tff7b72"download_activity"Tb4b4b4: Ta5d6ff"Download Activity"Tb4b4b4,
Tff7b72"no_downloads_yet"Tb4b4b4: Ta5d6ff"No downloads yet"Tb4b4b4,
Tff7b72"runtime_status"Tb4b4b4: Ta5d6ff"Runtime Status"Tb4b4b4,
Tff7b72"shared_instance"Tb4b4b4: Ta5d6ff"Shared Instance"Tb4b4b4,
Tff7b72"standalone_instance"Tb4b4b4: Ta5d6ff"Standalone Instance"Tb4b4b4,
Tff7b72"transport_enabled"Tb4b4b4: Ta5d6ff"Transport Enabled"Tb4b4b4,
Tff7b72"transport_disabled"Tb4b4b4: Ta5d6ff"Transport Disabled"Tb4b4b4,
Tff7b72"identity_addresses"Tb4b4b4: Ta5d6ff"Identity & Addresses"Tb4b4b4,
Tff7b72"telephone_address"Tb4b4b4: Ta5d6ff"Telephone Address"Tb4b4b4,
Tff7b72"security_integrity"Tb4b4b4: Ta5d6ff"Security Integrity"Tb4b4b4,
Tff7b72"security_integrity_description"Tb4b4b4: Ta5d6ff"System verification status for backend and data files"Tb4b4b4,
Tff7b72"secured"Tb4b4b4: Ta5d6ff"Secured"Tb4b4b4,
Tff7b72"tampering_detected"Tb4b4b4: Ta5d6ff"Tampering Detected"Tb4b4b4,
Tff7b72"technical_issues"Tb4b4b4: Ta5d6ff"Technical Issues:"Tb4b4b4,
Tff7b72"integrity_backend_error"Tb4b4b4: Ta5d6ff"The application backend binary (unpacked from ASAR) appears to have been modified or replaced. This could indicate a malicious actor trying to compromise your mesh communication."Tb4b4b4,
Tff7b72"integrity_data_error"Tb4b4b4: Ta5d6ff"Your identities or database files appear to have been modified while the app was closed."Tb4b4b4,
Tff7b72"integrity_warning_footer"Tb4b4b4: Ta5d6ff"Proceed with caution. If you did not manually update or modify these files, your installation may be compromised."Tb4b4b4,
Tff7b72"no_integrity_violations"Tb4b4b4: Ta5d6ff"No integrity violations detected since last startup."Tb4b4b4,
Tff7b72"dependency_chain"Tb4b4b4: Ta5d6ff"Dependency Chain"Tb4b4b4,
Tff7b72"app_name"Tb4b4b4: Ta5d6ff"MeshChatX"Tb4b4b4,
Tff7b72"automatic_backups_desc"Tb4b4b4: Ta5d6ff"Automated daily snapshots of your database."Tb4b4b4,
Tff7b72"automatic_backups_title"Tb4b4b4: Ta5d6ff"Automatic Backups"Tb4b4b4,
Tff7b72"backup_download_failed"Tb4b4b4: Ta5d6ff"Failed to download backup"Tb4b4b4,
Tff7b72"backup_downloaded"Tb4b4b4: Ta5d6ff"Backup downloaded"Tb4b4b4,
Tff7b72"backend_stack"Tb4b4b4: Ta5d6ff"Backend Stack"Tb4b4b4,
Tff7b72"chrome_runtime"Tb4b4b4: Ta5d6ff"Chrome"Tb4b4b4,
Tff7b72"contact_alternate"Tb4b4b4: Ta5d6ff"Alternate"Tb4b4b4,
Tff7b72"contact_details"Tb4b4b4: Ta5d6ff"Details"Tb4b4b4,
Tff7b72"contact_developer"Tb4b4b4: Ta5d6ff"Contact Developer"Tb4b4b4,
Tff7b72"contact_support_title"Tb4b4b4: Ta5d6ff"Contact & support"Tb4b4b4,
Tff7b72"contact_lxmf_address"Tb4b4b4: Ta5d6ff"LXMF Address"Tb4b4b4,
Tff7b72"contact_propagation_hint"Tb4b4b4: Ta5d6ff"Send to propagation node if you cant reach me!"Tb4b4b4,
Tff7b72"contact_open_messages"Tb4b4b4: Ta5d6ff"Open conversation"Tb4b4b4,
Tff7b72"contact_copy_address"Tb4b4b4: Ta5d6ff"Copy address"Tb4b4b4,
Tff7b72"donate_label"Tb4b4b4: Ta5d6ff"Donate"Tb4b4b4,
Tff7b72"donate_monero_label"Tb4b4b4: Ta5d6ff"Monero (XMR)"Tb4b4b4,
Tff7b72"donate_copy_monero"Tb4b4b4: Ta5d6ff"Copy Monero address"Tb4b4b4,
Tff7b72"donate_kofi"Tb4b4b4: Ta5d6ff"Ko-fi"Tb4b4b4,
Tff7b72"donate_buymeacoffee"Tb4b4b4: Ta5d6ff"Buy Me a Coffee"Tb4b4b4,
Tff7b72"copied_label_to_clipboard"Tb4b4b4: Ta5d6ff"{label} copied to clipboard"Tb4b4b4,
Tff7b72"core_runtime"Tb4b4b4: Ta5d6ff"Core Runtime"Tb4b4b4,
Tff7b72"creating"Tb4b4b4: Ta5d6ff"Creating..."Tb4b4b4,
Tff7b72"database_backups_desc"Tb4b4b4: Ta5d6ff"Full snapshots of your communications database."Tb4b4b4,
Tff7b72"database_backups_title"Tb4b4b4: Ta5d6ff"Database Backups"Tb4b4b4,
Tff7b72"database_health_maintenance"Tb4b4b4: Ta5d6ff"Database Health & Maintenance"Tb4b4b4,
Tff7b72"dep_lxmf_subtitle"Tb4b4b4: Ta5d6ff"Lightweight Extensible Message Format"Tb4b4b4,
Tff7b72"dep_lxmfy_subtitle"Tb4b4b4: Ta5d6ff"LXMF Bot framework"Tb4b4b4,
Tff7b72"dep_rns_subtitle"Tb4b4b4: Ta5d6ff"Reticulum Network Stack"Tb4b4b4,
Tff7b72"download_backup"Tb4b4b4: Ta5d6ff"Download Backup"Tb4b4b4,
Tff7b72"downloading"Tb4b4b4: Ta5d6ff"Downloading..."Tb4b4b4,
Tff7b72"electron_runtime"Tb4b4b4: Ta5d6ff"Electron"Tb4b4b4,
Tff7b72"environment_information"Tb4b4b4: Ta5d6ff"Environment Information"Tb4b4b4,
Tff7b72"env_backend_url"Tb4b4b4: Ta5d6ff"Backend URL"Tb4b4b4,
Tff7b72"env_language"Tb4b4b4: Ta5d6ff"Language"Tb4b4b4,
Tff7b72"env_lxmf"Tb4b4b4: Ta5d6ff"LXMF"Tb4b4b4,
Tff7b72"env_platform"Tb4b4b4: Ta5d6ff"Platform"Tb4b4b4,
Tff7b72"env_python"Tb4b4b4: Ta5d6ff"Python"Tb4b4b4,
Tff7b72"env_rns"Tb4b4b4: Ta5d6ff"RNS"Tb4b4b4,
Tff7b72"env_user_agent"Tb4b4b4: Ta5d6ff"User Agent"Tb4b4b4,
Tff7b72"failed_to_copy_label"Tb4b4b4: Ta5d6ff"Failed to copy {label}"Tb4b4b4,
Tff7b72"free_space"Tb4b4b4: Ta5d6ff"Free Space"Tb4b4b4,
Tff7b72"identity_hash"Tb4b4b4: Ta5d6ff"Identity Hash"Tb4b4b4,
Tff7b72"journal_short"Tb4b4b4: Ta5d6ff"Journal"Tb4b4b4,
Tff7b72"local_snapshots_desc"Tb4b4b4: Ta5d6ff"Create point-in-time restore points on disk."Tb4b4b4,
Tff7b72"local_snapshots_title"Tb4b4b4: Ta5d6ff"Local Snapshots"Tb4b4b4,
Tff7b72"lxmf_address"Tb4b4b4: Ta5d6ff"LXMF Address"Tb4b4b4,
Tff7b72"lxst_engine"Tb4b4b4: Ta5d6ff"LXST Engine"Tb4b4b4,
Tff7b72"main_instance_badge"Tb4b4b4: Ta5d6ff"Main Instance"Tb4b4b4,
Tff7b72"nodejs_runtime"Tb4b4b4: Ta5d6ff"Node.js"Tb4b4b4,
Tff7b72"page_count_label"Tb4b4b4: Ta5d6ff"Page Count"Tb4b4b4,
Tff7b72"pagination_page_of"Tb4b4b4: Ta5d6ff"Page {current} of {total}"Tb4b4b4,
Tff7b72"path_unknown"Tb4b4b4: Ta5d6ff"unknown"Tb4b4b4,
Tff7b72"recovery"Tb4b4b4: Ta5d6ff"Recovery"Tb4b4b4,
Tff7b72"recovery_complete"Tb4b4b4: Ta5d6ff"Database recovery finished."Tb4b4b4,
Tff7b72"recovery_confirm"Tb4b4b4: Ta5d6ff"Run database recovery? This runs a full integrity check and compacts the database (VACUUM). It can take a while and the app may feel unresponsive. This does not load a backup file."Tb4b4b4,
Tff7b72"recovery_failed"Tb4b4b4: Ta5d6ff"Recovery failed"Tb4b4b4,
Tff7b72"vacuum_complete"Tb4b4b4: Ta5d6ff"Database vacuum finished."Tb4b4b4,
Tff7b72"vacuum_failed"Tb4b4b4: Ta5d6ff"Could not vacuum the database."Tb4b4b4,
Tff7b72"reveal_config_file"Tb4b4b4: Ta5d6ff"Reveal File"Tb4b4b4,
Tff7b72"reveal_database_file"Tb4b4b4: Ta5d6ff"Reveal DB"Tb4b4b4,
Tff7b72"reticulum_config"Tb4b4b4: Ta5d6ff"Reticulum Config"Tb4b4b4,
Tff7b72"shared_instance_badge"Tb4b4b4: Ta5d6ff"Shared Instance: {address}"Tb4b4b4,
Tff7b72"shutdown_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to shutdown the app? This will stop the server and close the application."Tb4b4b4,
Tff7b72"snapshot_create"Tb4b4b4: Ta5d6ff"Create"Tb4b4b4,
Tff7b72"snapshot_download"Tb4b4b4: Ta5d6ff"Download"Tb4b4b4,
Tff7b72"snapshot_download_failed"Tb4b4b4: Ta5d6ff"Failed to download snapshot"Tb4b4b4,
Tff7b72"snapshot_downloaded"Tb4b4b4: Ta5d6ff"Snapshot downloaded"Tb4b4b4,
Tff7b72"snapshot_placeholder"Tb4b4b4: Ta5d6ff"Snapshot label..."Tb4b4b4,
Tff7b72"snapshot_restore"Tb4b4b4: Ta5d6ff"Restore"Tb4b4b4,
Tff7b72"tagline_after"Tb4b4b4: Ta5d6ff"."Tb4b4b4,
Tff7b72"tagline_lead"Tb4b4b4: Ta5d6ff"A secure, resilient, and beautiful communications platform powered by the"Tb4b4b4,
Tff7b72"tagline_link"Tb4b4b4: Ta5d6ff"Reticulum Network Stack"Tb4b4b4,
Tff7b72"technical_issues_detected"Tb4b4b4: Ta5d6ff"Technical Issues Detected"Tb4b4b4,
Tff7b72"other_core_components"Tb4b4b4: Ta5d6ff"Other Core Components"Tb4b4b4,
Tff7b72"backend_dependencies"Tb4b4b4: Ta5d6ff"Backend Dependencies"Tb4b4b4,
Tff7b72"delete_snapshot_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to delete this snapshot?"Tb4b4b4,
Tff7b72"snapshot_deleted"Tb4b4b4: Ta5d6ff"Snapshot deleted"Tb4b4b4,
Tff7b72"failed_delete_snapshot"Tb4b4b4: Ta5d6ff"Failed to delete snapshot"Tb4b4b4,
Tff7b72"delete_backup_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to delete this backup?"Tb4b4b4,
Tff7b72"backup_deleted"Tb4b4b4: Ta5d6ff"Backup deleted"Tb4b4b4,
Tff7b72"failed_delete_backup"Tb4b4b4: Ta5d6ff"Failed to delete backup"Tb4b4b4,
Tff7b72"database_restored"Tb4b4b4: Ta5d6ff"Database restored. Relaunching..."Tb4b4b4,
Tff7b72"failed_restore_snapshot"Tb4b4b4: Ta5d6ff"Failed to restore snapshot"Tb4b4b4,
Tff7b72"restore_snapshot_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to restore this snapshot? This will overwrite the current database and require an app relaunch."Tb4b4b4,
Tff7b72"integrity_acknowledged"Tb4b4b4: Ta5d6ff"Integrity issues acknowledged"Tb4b4b4,
Tff7b72"integrity_acknowledged_reset"Tb4b4b4: Ta5d6ff"Integrity issues acknowledged and manifest reset"Tb4b4b4,
Tff7b72"integrity_acknowledge_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to acknowledge these integrity issues? This will update the security manifest to match the current state of your files."Tb4b4b4,
Tff7b72"failed_acknowledge_integrity"Tb4b4b4: Ta5d6ff"Failed to acknowledge integrity issues"Tb4b4b4,
Tff7b72"shutdown_sent"Tb4b4b4: Ta5d6ff"Shutdown command sent to server."Tb4b4b4,
Tff7b72"identity_exported"Tb4b4b4: Ta5d6ff"Identity key file exported"Tb4b4b4,
Tff7b72"identity_copied"Tb4b4b4: Ta5d6ff"Identity Base32 key copied to clipboard"
Tb4b4b4},
Tff7b72"interfaces"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Interfaces"Tb4b4b4,
Tff7b72"manage"Tb4b4b4: Ta5d6ff"Manage"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Search, filter and export your Reticulum adapters."Tb4b4b4,
Tff7b72"add_interface"Tb4b4b4: Ta5d6ff"Add Interface"Tb4b4b4,
Tff7b72"edit_interface"Tb4b4b4: Ta5d6ff"Edit Interface"Tb4b4b4,
Tff7b72"import"Tb4b4b4: Ta5d6ff"Import"Tb4b4b4,
Tff7b72"export_all"Tb4b4b4: Ta5d6ff"Export all"Tb4b4b4,
Tff7b72"search_placeholder"Tb4b4b4: Ta5d6ff"Search by name, type, host..."Tb4b4b4,
Tff7b72"all"Tb4b4b4: Ta5d6ff"All"Tb4b4b4,
Tff7b72"connected_only"Tb4b4b4: Ta5d6ff"Connected only"Tb4b4b4,
Tff7b72"all_types"Tb4b4b4: Ta5d6ff"All types"Tb4b4b4,
Tff7b72"no_interfaces_found"Tb4b4b4: Ta5d6ff"No interfaces found"Tb4b4b4,
Tff7b72"no_interfaces_description"Tb4b4b4: Ta5d6ff"Adjust your search or add a new interface."Tb4b4b4,
Tff7b72"restart_required"Tb4b4b4: Ta5d6ff"Restart required"Tb4b4b4,
Tff7b72"restart_description"Tb4b4b4: Ta5d6ff"Reticulum MeshChatX must be restarted for any interface changes to take effect."Tb4b4b4,
Tff7b72"restart_now"Tb4b4b4: Ta5d6ff"Restart now"Tb4b4b4,
Tff7b72"failed_enable"Tb4b4b4: Ta5d6ff"failed to enable interface"Tb4b4b4,
Tff7b72"failed_disable"Tb4b4b4: Ta5d6ff"failed to disable interface"Tb4b4b4,
Tff7b72"delete_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to delete this interface? This can not be undone!"Tb4b4b4,
Tff7b72"failed_delete"Tb4b4b4: Ta5d6ff"failed to delete interface"Tb4b4b4,
Tff7b72"failed_export_all"Tb4b4b4: Ta5d6ff"Failed to export interfaces"Tb4b4b4,
Tff7b72"failed_export_single"Tb4b4b4: Ta5d6ff"Failed to export interface"Tb4b4b4,
Tff7b72"failed_reload"Tb4b4b4: Ta5d6ff"Failed to reload Reticulum!"Tb4b4b4,
Tff7b72"interface_not_found"Tb4b4b4: Ta5d6ff"The selected interface for editing could not be found."Tb4b4b4,
Tff7b72"discovery_settings_saved"Tb4b4b4: Ta5d6ff"Discovery settings saved"Tb4b4b4,
Tff7b72"discovery_list_refreshed"Tb4b4b4: Ta5d6ff"Discovered interfaces refreshed."Tb4b4b4,
Tff7b72"discovery_list_refresh_failed"Tb4b4b4: Ta5d6ff"Could not refresh discovered interfaces."Tb4b4b4,
Tff7b72"discovery_default_bootstrap_only"Tb4b4b4: Ta5d6ff"Default bootstrap-only for new outbound TCP"Tb4b4b4,
Tff7b72"discovery_default_bootstrap_only_hint"Tb4b4b4: Ta5d6ff"When enabled, new TCP client (and backbone connector) interfaces get bootstrap_only so Reticulum can detach them once autoconnect_discovered_interfaces is satisfied."Tb4b4b4,
Tff7b72"discovery_default_bootstrap_docs_link"Tb4b4b4: Ta5d6ff"See Reticulum bootstrapping connectivity."Tb4b4b4,
Tff7b72"backbone_transport_identity_label"Tb4b4b4: Ta5d6ff"Transport identity (optional)"Tb4b4b4,
Tff7b72"backbone_transport_identity_placeholder"Tb4b4b4: Ta5d6ff"e53433e51cde34c42a3245ba3fe1ad69"Tb4b4b4,
Tff7b72"backbone_transport_identity_hint"Tb4b4b4: Ta5d6ff"Matches Reticulum backbone remote examples that only set remote and target_port. Use the hash when an operator or directory specifies it."Tb4b4b4,
Tff7b72"loopback_local_title"Tb4b4b4: Ta5d6ff"Local / loopback"Tb4b4b4,
Tff7b72"loopback_local_body"Tb4b4b4: Ta5d6ff"Reticulum uses a shared instance internally. To talk to another RNS process on this host, use a TCP Client to 127.0.0.1 with the instance port, or use an external interface module in the interface path."Tb4b4b4,
Tff7b72"loopback_local_docs_hint"Tb4b4b4: Ta5d6ff"See the Interfaces chapter for supported types."Tb4b4b4,
Tff7b72"loopback_local_docs_link"Tb4b4b4: Ta5d6ff"Open bundled Reticulum manual"Tb4b4b4,
Tff7b72"custom_external_intro"Tb4b4b4: Ta5d6ff"Types such as WeaveInterface or your own class are loaded when Reticulum finds a matching module file (TypeName.py) under interfacepath and exposes interface_class (see RNS source). Options below are merged into the interface stanza in your config file."Tb4b4b4,
Tff7b72"custom_external_type_label"Tb4b4b4: Ta5d6ff"Interface type name"Tb4b4b4,
Tff7b72"custom_external_type_placeholder"Tb4b4b4: Ta5d6ff"WeaveInterface"Tb4b4b4,
Tff7b72"custom_external_json_label"Tb4b4b4: Ta5d6ff"Additional options (JSON object)"Tb4b4b4,
Tff7b72"custom_external_json_placeholder"Tb4b4b4: Ta5d6ff"\"listen_ip\": \"0.0.0.0\", \"listen_port\": 4242"Tb4b4b4,
Tff7b72"custom_external_docs_hint"Tb4b4b4: Ta5d6ff"See the Interfaces manual for native types and external modules."Tb4b4b4,
Tff7b72"custom_external_docs_link"Tb4b4b4: Ta5d6ff"Open bundled Reticulum manual"Tb4b4b4,
Tff7b72"custom_external_type_required"Tb4b4b4: Ta5d6ff"Enter the Reticulum interface type name."Tb4b4b4,
Tff7b72"custom_external_json_invalid"Tb4b4b4: Ta5d6ff"Invalid JSON for extra options."Tb4b4b4,
Tff7b72"failed_save_discovery"Tb4b4b4: Ta5d6ff"Failed to save discovery settings"Tb4b4b4,
Tff7b72"no_interfaces_found_config"Tb4b4b4: Ta5d6ff"No interfaces were found in the selected configuration file"Tb4b4b4,
Tff7b72"failed_parse_config"Tb4b4b4: Ta5d6ff"Failed to parse configuration file"Tb4b4b4,
Tff7b72"select_config_file"Tb4b4b4: Ta5d6ff"Please select a configuration file"Tb4b4b4,
Tff7b72"select_at_least_one"Tb4b4b4: Ta5d6ff"Please select at least one interface to import"Tb4b4b4,
Tff7b72"import_success"Tb4b4b4: Ta5d6ff"Interfaces imported successfully. MeshChat must be restarted for these changes to take effect."Tb4b4b4,
Tff7b72"failed_import_all"Tb4b4b4: Ta5d6ff"Failed to import interfaces"Tb4b4b4,
Tff7b72"add_interface_sidebar_a11y"Tb4b4b4: Ta5d6ff"Shortcuts and community presets"Tb4b4b4,
Tff7b72"community_quick_start"Tb4b4b4: Ta5d6ff"Community Quick-Start"Tb4b4b4,
Tff7b72"community_quick_start_hint"Tb4b4b4: Ta5d6ff"Presets from directory.rns.recipes online listings."Tb4b4b4,
Tff7b72"community_quick_start_hide"Tb4b4b4: Ta5d6ff"Hide suggested interfaces"Tb4b4b4,
Tff7b72"community_use_preset"Tb4b4b4: Ta5d6ff"Use This"Tb4b4b4,
Tff7b72"community_presets_hidden_hint"Tb4b4b4: Ta5d6ff"Community presets are hidden. Show them again here or in Settings."Tb4b4b4,
Tff7b72"community_presets_show_again"Tb4b4b4: Ta5d6ff"Show community presets"Tb4b4b4,
Tff7b72"community_presets_empty"Tb4b4b4: Ta5d6ff"No presets loaded. Rebuild the bundle or add public/community_interfaces.json."Tb4b4b4,
Tff7b72"community_presets_refresh"Tb4b4b4: Ta5d6ff"Refresh community presets from directory.rns.recipes"Tb4b4b4,
Tff7b72"community_presets_refreshed"Tb4b4b4: Ta5d6ff"Updated {count} community interface preset(s)"Tb4b4b4,
Tff7b72"community_presets_refresh_failed"Tb4b4b4: Ta5d6ff"Could not refresh community presets"Tb4b4b4,
Tff7b72"find_more_nodes"Tb4b4b4: Ta5d6ff"Find more nodes"Tb4b4b4,
Tff7b72"quick_import"Tb4b4b4: Ta5d6ff"Quick Import"Tb4b4b4,
Tff7b72"quick_import_paste_hint"Tb4b4b4: Ta5d6ff"Paste raw config"Tb4b4b4,
Tff7b72"quick_import_placeholder"Tb4b4b4: Ta5d6ff"[Interface Name]\ntype = TCPClientInterface\ntarget_host = 1.2.3.4"Tb4b4b4,
Tff7b72"quick_import_apply"Tb4b4b4: Ta5d6ff"Apply: {name}"Tb4b4b4,
Tff7b72"discovered_network_name"Tb4b4b4: Ta5d6ff"Network Name"Tb4b4b4,
Tff7b72"discovered_passphrase"Tb4b4b4: Ta5d6ff"Passphrase"Tb4b4b4,
Tff7b72"discovered_copy_network_name"Tb4b4b4: Ta5d6ff"Copy IFAC network name"Tb4b4b4,
Tff7b72"discovered_copy_passphrase"Tb4b4b4: Ta5d6ff"Copy IFAC passphrase"Tb4b4b4,
Tff7b72"discovered_use_this"Tb4b4b4: Ta5d6ff"Use this interface"Tb4b4b4,
Tff7b72"discovered_copy_config"Tb4b4b4: Ta5d6ff"Copy config block"Tb4b4b4,
Tff7b72"discovered_config_block"Tb4b4b4: Ta5d6ff"Config block"Tb4b4b4,
Tff7b72"discovered_no_config"Tb4b4b4: Ta5d6ff"This announce did not include a ready-to-paste config block."Tb4b4b4,
Tff7b72"discovered_prefill_applied"Tb4b4b4: Ta5d6ff"Prefilled fields from discovered interface."Tb4b4b4,
Tff7b72"rnode_ble_toggle"Tb4b4b4: Ta5d6ff"Bluetooth LE (RNode UART)"Tb4b4b4,
Tff7b72"rnode_ble_hint"Tb4b4b4: Ta5d6ff"Reticulum uses Bluetooth on this device. Pair the RNode in your OS settings first. This requires the Desktop or Android app. On Android, you must also allow the required permissions."Tb4b4b4,
Tff7b72"rnode_ble_peer_label"Tb4b4b4: Ta5d6ff"BLE name or MAC"Tb4b4b4,
Tff7b72"rnode_ble_peer_placeholder"Tb4b4b4: Ta5d6ff"MyRNode or aa:bb:cc:dd:ee:ff"Tb4b4b4,
Tff7b72"rnode_ble_peer_required"Tb4b4b4: Ta5d6ff"Enter a BLE advertised name or MAC address for the RNode."Tb4b4b4,
Tff7b72"rnode_ip_host_label"Tb4b4b4: Ta5d6ff"Host or IP address"Tb4b4b4,
Tff7b72"rnode_tcp_port_fixed_hint"Tb4b4b4: Ta5d6ff"Reticulum uses port 7633 on the RNode. Enter only the hostname or IP without the port."Tb4b4b4,
Tff7b72"rnode_tcp_host_required"Tb4b4b4: Ta5d6ff"Enter the hostname or IP for RNode over TCP."Tb4b4b4,
Tff7b72"listen_ip_required"Tb4b4b4: Ta5d6ff"Listen IP is required."Tb4b4b4,
Tff7b72"kernel_iface_picker_title"Tb4b4b4: Ta5d6ff"Interfaces on this host"Tb4b4b4,
Tff7b72"kernel_iface_loading"Tb4b4b4: Ta5d6ff"Loading…"Tb4b4b4,
Tff7b72"kernel_iface_picker_help"Tb4b4b4: Ta5d6ff"Device is optional: one kernel interface name, or leave empty to bind using Listen IP only. Click a row to fill the field."Tb4b4b4,
Tff7b72"auto_iface_ifname_chips_hint"Tb4b4b4: Ta5d6ff"This host's interfaces: click to add or remove names in the field above."
Tb4b4b4},
Tff7b72"map"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Map"Tb4b4b4,
Tff7b72"pop_out"Tb4b4b4: Ta5d6ff"Pop out map"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Offline map tiles (MBTiles) and your own layers."Tb4b4b4,
Tff7b72"upload_mbtiles"Tb4b4b4: Ta5d6ff"Upload MBTiles"Tb4b4b4,
Tff7b72"select_file"Tb4b4b4: Ta5d6ff"Select MBTiles file"Tb4b4b4,
Tff7b72"offline_mode"Tb4b4b4: Ta5d6ff"Offline Mode"Tb4b4b4,
Tff7b72"online_mode"Tb4b4b4: Ta5d6ff"Online Mode"Tb4b4b4,
Tff7b72"attribution"Tb4b4b4: Ta5d6ff"Attribution"Tb4b4b4,
Tff7b72"bounds"Tb4b4b4: Ta5d6ff"Bounds"Tb4b4b4,
Tff7b72"center"Tb4b4b4: Ta5d6ff"Center"Tb4b4b4,
Tff7b72"zoom"Tb4b4b4: Ta5d6ff"Zoom"Tb4b4b4,
Tff7b72"uploading"Tb4b4b4: Ta5d6ff"Uploading..."Tb4b4b4,
Tff7b72"upload_success"Tb4b4b4: Ta5d6ff"Map uploaded successfully"Tb4b4b4,
Tff7b72"upload_failed"Tb4b4b4: Ta5d6ff"Failed to upload map"Tb4b4b4,
Tff7b72"invalid_file"Tb4b4b4: Ta5d6ff"Invalid MBTiles file. Only raster tiles are supported."Tb4b4b4,
Tff7b72"default_view"Tb4b4b4: Ta5d6ff"Default View"Tb4b4b4,
Tff7b72"set_as_default"Tb4b4b4: Ta5d6ff"Set as Default View"Tb4b4b4,
Tff7b72"export_area"Tb4b4b4: Ta5d6ff"Export Area"Tb4b4b4,
Tff7b72"export_instructions"Tb4b4b4: Ta5d6ff"Drag on the map to select an area."Tb4b4b4,
Tff7b72"min_zoom"Tb4b4b4: Ta5d6ff"Min Zoom"Tb4b4b4,
Tff7b72"max_zoom"Tb4b4b4: Ta5d6ff"Max Zoom"Tb4b4b4,
Tff7b72"tile_count"Tb4b4b4: Ta5d6ff"Estimated Tiles"Tb4b4b4,
Tff7b72"start_export"Tb4b4b4: Ta5d6ff"Start Export"Tb4b4b4,
Tff7b72"exporting"Tb4b4b4: Ta5d6ff"Exporting Map..."Tb4b4b4,
Tff7b72"download_ready"Tb4b4b4: Ta5d6ff"Export Complete"Tb4b4b4,
Tff7b72"download_now"Tb4b4b4: Ta5d6ff"Download MBTiles"Tb4b4b4,
Tff7b72"caching_enabled"Tb4b4b4: Ta5d6ff"Tile Caching"Tb4b4b4,
Tff7b72"clear_cache"Tb4b4b4: Ta5d6ff"Clear Cache"Tb4b4b4,
Tff7b72"cache_cleared"Tb4b4b4: Ta5d6ff"Tile cache cleared"Tb4b4b4,
Tff7b72"tile_server_url"Tb4b4b4: Ta5d6ff"Tile Server URL"Tb4b4b4,
Tff7b72"tile_server_url_placeholder"Tb4b4b4: Ta5d6ff"https://tiles.openfreemap.org/styles/bright"Tb4b4b4,
Tff7b72"tile_server_url_hint"Tb4b4b4: Ta5d6ff"Use {z}, {x}, {y} for zoom, column, row"Tb4b4b4,
Tff7b72"tile_server_saved"Tb4b4b4: Ta5d6ff"Tile server URL saved"Tb4b4b4,
Tff7b72"tile_server_openstreetmap"Tb4b4b4: Ta5d6ff"OpenStreetMap"Tb4b4b4,
Tff7b72"nominatim_api_url"Tb4b4b4: Ta5d6ff"Nominatim API URL"Tb4b4b4,
Tff7b72"nominatim_api_url_placeholder"Tb4b4b4: Ta5d6ff"https://nominatim.openstreetmap.org"Tb4b4b4,
Tff7b72"nominatim_api_url_hint"Tb4b4b4: Ta5d6ff"Base URL for Nominatim geocoding service"Tb4b4b4,
Tff7b72"nominatim_api_saved"Tb4b4b4: Ta5d6ff"Nominatim API URL saved"Tb4b4b4,
Tff7b72"search_placeholder"Tb4b4b4: Ta5d6ff"Search for a location..."Tb4b4b4,
Tff7b72"search_offline_error"Tb4b4b4: Ta5d6ff"Search is only available in online mode"Tb4b4b4,
Tff7b72"search_connection_error"Tb4b4b4: Ta5d6ff"Failed to connect to search service. Please check your internet connection."Tb4b4b4,
Tff7b72"search_timeout_error"Tb4b4b4: Ta5d6ff"The geocoder did not respond in time. It may be slow, overloaded, or unreachable. Try again."Tb4b4b4,
Tff7b72"search_error"Tb4b4b4: Ta5d6ff"Search error"Tb4b4b4,
Tff7b72"tile_connectivity_title"Tb4b4b4: Ta5d6ff"Map tiles could not be loaded"Tb4b4b4,
Tff7b72"tile_connectivity_body"Tb4b4b4: Ta5d6ff"Check your network, try again, use a local tile server in settings, or switch to offline mode if you have MBTiles loaded."Tb4b4b4,
Tff7b72"tile_connectivity_retry"Tb4b4b4: Ta5d6ff"Retry tiles"Tb4b4b4,
Tff7b72"tile_connectivity_use_offline"Tb4b4b4: Ta5d6ff"Use offline mode"Tb4b4b4,
Tff7b72"tile_connectivity_dismiss"Tb4b4b4: Ta5d6ff"Dismiss"Tb4b4b4,
Tff7b72"search_no_results"Tb4b4b4: Ta5d6ff"No results found"Tb4b4b4,
Tff7b72"custom_tile_server_unavailable"Tb4b4b4: Ta5d6ff"Custom tile server is not accessible in offline mode"Tb4b4b4,
Tff7b72"custom_nominatim_unavailable"Tb4b4b4: Ta5d6ff"Custom Nominatim server is not accessible in offline mode"Tb4b4b4,
Tff7b72"onboarding_title"Tb4b4b4: Ta5d6ff"Export to MBTiles!"Tb4b4b4,
Tff7b72"onboarding_text"Tb4b4b4: Ta5d6ff"Use the export tool to download map areas as MBTiles files for offline use."Tb4b4b4,
Tff7b72"onboarding_got_it"Tb4b4b4: Ta5d6ff"Got it"Tb4b4b4,
Tff7b72"tool_point"Tb4b4b4: Ta5d6ff"Draw Point"Tb4b4b4,
Tff7b72"tool_linestring"Tb4b4b4: Ta5d6ff"Draw Line"Tb4b4b4,
Tff7b72"tool_polygon"Tb4b4b4: Ta5d6ff"Draw Polygon"Tb4b4b4,
Tff7b72"tool_circle"Tb4b4b4: Ta5d6ff"Draw Circle"Tb4b4b4,
Tff7b72"tool_measure"Tb4b4b4: Ta5d6ff"Measure Distance/Area"Tb4b4b4,
Tff7b72"tool_bearing"Tb4b4b4: Ta5d6ff"Bearing and distance (two taps, offline)"Tb4b4b4,
Tff7b72"tool_bearing_from_here"Tb4b4b4: Ta5d6ff"Bearing from my location to one tap"Tb4b4b4,
Tff7b72"bearing_geodesic"Tb4b4b4: Ta5d6ff"Geodesic (great circle)"Tb4b4b4,
Tff7b72"bearing_rhumb"Tb4b4b4: Ta5d6ff"Rhumb line (constant bearing)"Tb4b4b4,
Tff7b72"bearing_forward"Tb4b4b4: Ta5d6ff"Forward azimuth"Tb4b4b4,
Tff7b72"bearing_back"Tb4b4b4: Ta5d6ff"Back azimuth"Tb4b4b4,
Tff7b72"bearing_rhumb_line"Tb4b4b4: Ta5d6ff"Rhumb bearing / back"Tb4b4b4,
Tff7b72"bearing_hint_first"Tb4b4b4: Ta5d6ff"Tap the start point, then the end point."Tb4b4b4,
Tff7b72"bearing_hint_second"Tb4b4b4: Ta5d6ff"Tap the end point."Tb4b4b4,
Tff7b72"bearing_hint_destination"Tb4b4b4: Ta5d6ff"Tap your destination on the map."Tb4b4b4,
Tff7b72"bearing_from_here"Tb4b4b4: Ta5d6ff"Use my location as start"Tb4b4b4,
Tff7b72"bearing_help_first"Tb4b4b4: Ta5d6ff"Tap start, then end"Tb4b4b4,
Tff7b72"bearing_help_drag"Tb4b4b4: Ta5d6ff"Move the pointer for a live readout"Tb4b4b4,
Tff7b72"tool_clear"Tb4b4b4: Ta5d6ff"Clear Drawings"Tb4b4b4,
Tff7b72"save_drawing"Tb4b4b4: Ta5d6ff"Save Drawing Layer"Tb4b4b4,
Tff7b72"load_drawing"Tb4b4b4: Ta5d6ff"Load Drawing Layer"Tb4b4b4,
Tff7b72"save_drawing_title"Tb4b4b4: Ta5d6ff"Save Drawing Layer"Tb4b4b4,
Tff7b72"save_drawing_desc"Tb4b4b4: Ta5d6ff"Save your current map annotations to the database."Tb4b4b4,
Tff7b72"drawing_name"Tb4b4b4: Ta5d6ff"Layer Name"Tb4b4b4,
Tff7b72"drawing_name_placeholder"Tb4b4b4: Ta5d6ff"e.g., Target Area Alpha"Tb4b4b4,
Tff7b72"load_drawing_title"Tb4b4b4: Ta5d6ff"Load Drawing Layer"Tb4b4b4,
Tff7b72"loading_drawings"Tb4b4b4: Ta5d6ff"Loading saved layers..."Tb4b4b4,
Tff7b72"no_drawings"Tb4b4b4: Ta5d6ff"No Saved Layers"Tb4b4b4,
Tff7b72"no_drawings_desc"Tb4b4b4: Ta5d6ff"You haven't saved any map annotations yet."Tb4b4b4,
Tff7b72"saved_on"Tb4b4b4: Ta5d6ff"Saved on"Tb4b4b4,
Tff7b72"settings"Tb4b4b4: Ta5d6ff"Map Settings"Tb4b4b4,
Tff7b72"go_to_my_location"Tb4b4b4: Ta5d6ff"Go to My Location"Tb4b4b4,
Tff7b72"source_updated"Tb4b4b4: Ta5d6ff"Map source updated"Tb4b4b4,
Tff7b72"failed_set_active"Tb4b4b4: Ta5d6ff"Failed to set active map"Tb4b4b4,
Tff7b72"file_deleted"Tb4b4b4: Ta5d6ff"File deleted"Tb4b4b4,
Tff7b72"failed_delete_file"Tb4b4b4: Ta5d6ff"Failed to delete file"Tb4b4b4,
Tff7b72"storage_saved"Tb4b4b4: Ta5d6ff"Storage directory saved"Tb4b4b4,
Tff7b72"failed_save_storage"Tb4b4b4: Ta5d6ff"Failed to save directory"Tb4b4b4,
Tff7b72"export_cancelled"Tb4b4b4: Ta5d6ff"Export cancelled"Tb4b4b4,
Tff7b72"failed_cancel_export"Tb4b4b4: Ta5d6ff"Failed to cancel export"Tb4b4b4,
Tff7b72"failed_start_export"Tb4b4b4: Ta5d6ff"Failed to start export"Tb4b4b4,
Tff7b72"select_mbtiles_error"Tb4b4b4: Ta5d6ff"Please select an .mbtiles file"Tb4b4b4,
Tff7b72"view_saved"Tb4b4b4: Ta5d6ff"Default view saved"Tb4b4b4,
Tff7b72"failed_save_view"Tb4b4b4: Ta5d6ff"Failed to save default view"Tb4b4b4,
Tff7b72"failed_clear_cache"Tb4b4b4: Ta5d6ff"Failed to clear cache"Tb4b4b4,
Tff7b72"failed_save_tile_server"Tb4b4b4: Ta5d6ff"Failed to save tile server URL"Tb4b4b4,
Tff7b72"failed_save_nominatim"Tb4b4b4: Ta5d6ff"Failed to save Nominatim API URL"Tb4b4b4,
Tff7b72"copied_coordinates"Tb4b4b4: Ta5d6ff"Copied coordinates"Tb4b4b4,
Tff7b72"failed_load_drawings"Tb4b4b4: Ta5d6ff"Failed to load drawings"Tb4b4b4,
Tff7b72"not_initialized"Tb4b4b4: Ta5d6ff"Map not initialized"Tb4b4b4,
Tff7b72"drawing_saved"Tb4b4b4: Ta5d6ff"Drawing saved"Tb4b4b4,
Tff7b72"failed_save_drawing"Tb4b4b4: Ta5d6ff"Failed to save drawing"Tb4b4b4,
Tff7b72"deleted"Tb4b4b4: Ta5d6ff"Deleted"Tb4b4b4,
Tff7b72"failed_delete"Tb4b4b4: Ta5d6ff"Failed to delete"Tb4b4b4,
Tff7b72"location_not_determined"Tb4b4b4: Ta5d6ff"Could not determine your location"Tb4b4b4,
Tff7b72"geolocation_not_supported"Tb4b4b4: Ta5d6ff"Geolocation is not supported by your browser"Tb4b4b4,
Tff7b72"no_nodes_location"Tb4b4b4: Ta5d6ff"No discovered nodes with location found"Tb4b4b4,
Tff7b72"failed_fetch_nodes"Tb4b4b4: Ta5d6ff"Failed to fetch discovered nodes for mapping"Tb4b4b4,
Tff7b72"share_view"Tb4b4b4: Ta5d6ff"Share map view (copy links)"Tb4b4b4,
Tff7b72"share_message_prefix"Tb4b4b4: Ta5d6ff"MeshChatX map:"Tb4b4b4,
Tff7b72"share_copied"Tb4b4b4: Ta5d6ff"Map links copied to clipboard"Tb4b4b4,
Tff7b72"ping_here"Tb4b4b4: Ta5d6ff"Ping here (send in chat)"Tb4b4b4,
Tff7b72"ping_here_toolbar"Tb4b4b4: Ta5d6ff"Ping map center in chat"Tb4b4b4,
Tff7b72"ping_modal_title"Tb4b4b4: Ta5d6ff"Send map ping"Tb4b4b4,
Tff7b72"ping_destination"Tb4b4b4: Ta5d6ff"Destination"Tb4b4b4,
Tff7b72"ping_pick_conversation"Tb4b4b4: Ta5d6ff"Choose a conversation"Tb4b4b4,
Tff7b72"ping_send"Tb4b4b4: Ta5d6ff"Send ping"Tb4b4b4,
Tff7b72"ping_sent"Tb4b4b4: Ta5d6ff"Map ping sent"Tb4b4b4,
Tff7b72"ping_failed"Tb4b4b4: Ta5d6ff"Could not send map ping"Tb4b4b4,
Tff7b72"ping_invalid_destination"Tb4b4b4: Ta5d6ff"Pick a valid 32-character destination hash"Tb4b4b4,
Tff7b72"ping_message_prefix"Tb4b4b4: Ta5d6ff"MeshChatX map ping:"Tb4b4b4,
Tff7b72"north_up"Tb4b4b4: Ta5d6ff"North is up (map not rotated)"Tb4b4b4,
Tff7b72"export_tile_limit_exceeded"Tb4b4b4: Ta5d6ff"Too many tiles for one export. Lower max zoom or shrink the area."Tb4b4b4,
Tff7b72"export_region_world"Tb4b4b4: Ta5d6ff"World (low zoom)"Tb4b4b4,
Tff7b72"export_region_europe"Tb4b4b4: Ta5d6ff"Europe"Tb4b4b4,
Tff7b72"export_region_north_america"Tb4b4b4: Ta5d6ff"North America"Tb4b4b4,
Tff7b72"export_region_south_america"Tb4b4b4: Ta5d6ff"South America"Tb4b4b4,
Tff7b72"export_region_africa"Tb4b4b4: Ta5d6ff"Africa"Tb4b4b4,
Tff7b72"export_region_asia"Tb4b4b4: Ta5d6ff"Asia"Tb4b4b4,
Tff7b72"export_region_oceania"Tb4b4b4: Ta5d6ff"Oceania"Tb4b4b4,
Tff7b72"vector_exchange_title"Tb4b4b4: Ta5d6ff"GeoJSON / KML / KMZ"Tb4b4b4,
Tff7b72"vector_exchange_merge"Tb4b4b4: Ta5d6ff"Merge with existing drawings (uncheck to replace)"Tb4b4b4,
Tff7b72"vector_exchange_hint"Tb4b4b4: Ta5d6ff"Imports support icons from various formats including GeoJSON and KML. Select a drawing to see its metadata."Tb4b4b4,
Tff7b72"vector_import_geojson"Tb4b4b4: Ta5d6ff"Import GeoJSON"Tb4b4b4,
Tff7b72"vector_import_kml"Tb4b4b4: Ta5d6ff"Import KML"Tb4b4b4,
Tff7b72"vector_import_kmz"Tb4b4b4: Ta5d6ff"Import KMZ"Tb4b4b4,
Tff7b72"vector_export_geojson"Tb4b4b4: Ta5d6ff"Export GeoJSON"Tb4b4b4,
Tff7b72"vector_export_kml"Tb4b4b4: Ta5d6ff"Export KML"Tb4b4b4,
Tff7b72"vector_export_kmz"Tb4b4b4: Ta5d6ff"Export KMZ"Tb4b4b4,
Tff7b72"vector_import_ok"Tb4b4b4: Ta5d6ff"Imported {count} feature(s)."Tb4b4b4,
Tff7b72"vector_import_empty"Tb4b4b4: Ta5d6ff"No features found in file."Tb4b4b4,
Tff7b72"vector_import_failed"Tb4b4b4: Ta5d6ff"Could not read vector file."Tb4b4b4,
Tff7b72"vector_export_ok"Tb4b4b4: Ta5d6ff"Export started."
Tb4b4b4},
Tff7b72"interface"Tb4b4b4: Tb4b4b4{
Tff7b72"disable"Tb4b4b4: Ta5d6ff"Disable"Tb4b4b4,
Tff7b72"enable"Tb4b4b4: Ta5d6ff"Enable"Tb4b4b4,
Tff7b72"edit_interface"Tb4b4b4: Ta5d6ff"Edit Interface"Tb4b4b4,
Tff7b72"export_interface"Tb4b4b4: Ta5d6ff"Export Interface"Tb4b4b4,
Tff7b72"delete_interface"Tb4b4b4: Ta5d6ff"Delete Interface"Tb4b4b4,
Tff7b72"listen"Tb4b4b4: Ta5d6ff"Listen"Tb4b4b4,
Tff7b72"forward"Tb4b4b4: Ta5d6ff"Forward"Tb4b4b4,
Tff7b72"port"Tb4b4b4: Ta5d6ff"Port"Tb4b4b4,
Tff7b72"frequency"Tb4b4b4: Ta5d6ff"Frequency"Tb4b4b4,
Tff7b72"bandwidth"Tb4b4b4: Ta5d6ff"Bandwidth"Tb4b4b4,
Tff7b72"txpower"Tb4b4b4: Ta5d6ff"TX Power"Tb4b4b4,
Tff7b72"spreading_factor"Tb4b4b4: Ta5d6ff"SF"Tb4b4b4,
Tff7b72"coding_rate"Tb4b4b4: Ta5d6ff"Coding Rate"Tb4b4b4,
Tff7b72"bitrate"Tb4b4b4: Ta5d6ff"Bitrate"Tb4b4b4,
Tff7b72"tx"Tb4b4b4: Ta5d6ff"TX"Tb4b4b4,
Tff7b72"rx"Tb4b4b4: Ta5d6ff"RX"Tb4b4b4,
Tff7b72"noise"Tb4b4b4: Ta5d6ff"Noise"Tb4b4b4,
Tff7b72"clients"Tb4b4b4: Ta5d6ff"Clients"Tb4b4b4,
Tff7b72"link_up"Tb4b4b4: Ta5d6ff"Link up"Tb4b4b4,
Tff7b72"link_down"Tb4b4b4: Ta5d6ff"Link down"Tb4b4b4,
Tff7b72"link_unknown"Tb4b4b4: Ta5d6ff"Link status unknown"
Tb4b4b4},
Tff7b72"messages"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Messages"Tb4b4b4,
Tff7b72"conversations"Tb4b4b4: Ta5d6ff"Conversations"Tb4b4b4,
Tff7b72"announces"Tb4b4b4: Ta5d6ff"Announces"Tb4b4b4,
Tff7b72"search_placeholder"Tb4b4b4: Ta5d6ff"Search {count} conversations..."Tb4b4b4,
Tff7b72"unread"Tb4b4b4: Ta5d6ff"Unread"Tb4b4b4,
Tff7b72"failed"Tb4b4b4: Ta5d6ff"Failed"Tb4b4b4,
Tff7b72"attachments"Tb4b4b4: Ta5d6ff"Attachments"Tb4b4b4,
Tff7b72"no_messages_yet"Tb4b4b4: Ta5d6ff"No messages yet"Tb4b4b4,
Tff7b72"loading_conversations"Tb4b4b4: Ta5d6ff"Loading conversations..."Tb4b4b4,
Tff7b72"no_conversations"Tb4b4b4: Ta5d6ff"No Conversations"Tb4b4b4,
Tff7b72"discover_peers"Tb4b4b4: Ta5d6ff"Discover peers on the Announces tab"Tb4b4b4,
Tff7b72"no_search_results"Tb4b4b4: Ta5d6ff"No Results Found"Tb4b4b4,
Tff7b72"try_another_search"Tb4b4b4: Ta5d6ff"Try a different search term"Tb4b4b4,
Tff7b72"no_search_results_conversations"Tb4b4b4: Ta5d6ff"Your search didn't match any conversations."Tb4b4b4,
Tff7b72"search_placeholder_announces"Tb4b4b4: Ta5d6ff"Search {count} recent announces..."Tb4b4b4,
Tff7b72"no_peers_discovered"Tb4b4b4: Ta5d6ff"No Peers Discovered"Tb4b4b4,
Tff7b72"waiting_for_announce"Tb4b4b4: Ta5d6ff"Waiting for someone to announce!"Tb4b4b4,
Tff7b72"no_search_results_peers"Tb4b4b4: Ta5d6ff"Your search didn't match any Peers!"Tb4b4b4,
Tff7b72"direct"Tb4b4b4: Ta5d6ff"Direct"Tb4b4b4,
Tff7b72"downloading"Tb4b4b4: Ta5d6ff"Downloading"Tb4b4b4,
Tff7b72"hops"Tb4b4b4: Ta5d6ff"{count} hops"Tb4b4b4,
Tff7b72"hops_away"Tb4b4b4: Ta5d6ff"{count} hops away"Tb4b4b4,
Tff7b72"snr"Tb4b4b4: Ta5d6ff"SNR {snr}"Tb4b4b4,
Tff7b72"stamp_cost"Tb4b4b4: Ta5d6ff"Stamp Cost {cost}"Tb4b4b4,
Tff7b72"pop_out_chat"Tb4b4b4: Ta5d6ff"Pop out chat"Tb4b4b4,
Tff7b72"more_actions"Tb4b4b4: Ta5d6ff"More actions"Tb4b4b4,
Tff7b72"retry_failed"Tb4b4b4: Ta5d6ff"Retry failed messages"Tb4b4b4,
Tff7b72"telemetry_history"Tb4b4b4: Ta5d6ff"Telemetry history"Tb4b4b4,
Tff7b72"telemetry_history_modal_title"Tb4b4b4: Ta5d6ff"Telemetry History"Tb4b4b4,
Tff7b72"telemetry_history_empty"Tb4b4b4: Ta5d6ff"No telemetry history found for this peer."Tb4b4b4,
Tff7b72"telemetry_history_done"Tb4b4b4: Ta5d6ff"Done"Tb4b4b4,
Tff7b72"telemetry_show_in_chat"Tb4b4b4: Ta5d6ff"Show telemetry in main chat"Tb4b4b4,
Tff7b72"telemetry_battery_trend"Tb4b4b4: Ta5d6ff"Battery trend"Tb4b4b4,
Tff7b72"telemetry_battery_range"Tb4b4b4: Ta5d6ff"{from}% → {to}%"Tb4b4b4,
Tff7b72"telemetry_label_sent"Tb4b4b4: Ta5d6ff"Sent"Tb4b4b4,
Tff7b72"telemetry_label_received"Tb4b4b4: Ta5d6ff"Received"Tb4b4b4,
Tff7b72"telemetry_battery_level"Tb4b4b4: Ta5d6ff"Battery: {percent}%"Tb4b4b4,
Tff7b72"telemetry_snr_db"Tb4b4b4: Ta5d6ff"SNR: {snr} dB"Tb4b4b4,
Tff7b72"telemetry_location_request"Tb4b4b4: Ta5d6ff"Location Request"Tb4b4b4,
Tff7b72"start_call"Tb4b4b4: Ta5d6ff"Call"Tb4b4b4,
Tff7b72"share_contact"Tb4b4b4: Ta5d6ff"Share contact"Tb4b4b4,
Tff7b72"share_contact_modal_title"Tb4b4b4: Ta5d6ff"Share contact"Tb4b4b4,
Tff7b72"share_contact_search_placeholder"Tb4b4b4: Ta5d6ff"Search contacts…"Tb4b4b4,
Tff7b72"custom_display_name"Tb4b4b4: Ta5d6ff"Custom Display Name"Tb4b4b4,
Tff7b72"stranger_banner_text"Tb4b4b4: Ta5d6ff"This peer is not in your contacts. Attachments from strangers are blocked."Tb4b4b4,
Tff7b72"add_to_contacts"Tb4b4b4: Ta5d6ff"Add to Contacts"Tb4b4b4,
Tff7b72"dismiss"Tb4b4b4: Ta5d6ff"Dismiss"Tb4b4b4,
Tff7b72"attachments_stripped_notice"Tb4b4b4: Ta5d6ff"Attachments were blocked from this unknown sender."Tb4b4b4,
Tff7b72"stranger_link_open_confirm"Tb4b4b4: Ta5d6ff"This link was sent by an unknown contact:\n{url}\n\nOpen it anyway?"Tb4b4b4,
Tff7b72"send_placeholder"Tb4b4b4: Ta5d6ff"Type a message..."Tb4b4b4,
Tff7b72"compose_hint_automatic"Tb4b4b4: Ta5d6ff"Message for automatic delivery"Tb4b4b4,
Tff7b72"compose_hint_direct"Tb4b4b4: Ta5d6ff"Message for direct delivery"Tb4b4b4,
Tff7b72"compose_hint_opportunistic"Tb4b4b4: Ta5d6ff"Message for opportunistic delivery"Tb4b4b4,
Tff7b72"compose_hint_propagated"Tb4b4b4: Ta5d6ff"Message for propagated delivery"Tb4b4b4,
Tff7b72"send_menu_more_label"Tb4b4b4: Ta5d6ff"Other Sending Options"Tb4b4b4,
Tff7b72"send_menu_telemetry_request"Tb4b4b4: Ta5d6ff"Send as Command or Request"Tb4b4b4,
Tff7b72"send_menu_paper_compose"Tb4b4b4: Ta5d6ff"Paper message from composition (LXM)"Tb4b4b4,
Tff7b72"sending_ellipsis"Tb4b4b4: Ta5d6ff"Sending…"Tb4b4b4,
Tff7b72"outbound_pending_propagation"Tb4b4b4: Ta5d6ff"Sending to propagation node…"Tb4b4b4,
Tff7b72"outbound_pending_propagation_with_progress"Tb4b4b4: Ta5d6ff"Sending to propagation node… {progress}%"Tb4b4b4,
Tff7b72"outbound_on_propagation_node"Tb4b4b4: Ta5d6ff"On propagation node"Tb4b4b4,
Tff7b72"outbound_sent_network"Tb4b4b4: Ta5d6ff"Sent"Tb4b4b4,
Tff7b72"no_messages_in_conversation"Tb4b4b4: Ta5d6ff"No messages in this conversation yet."Tb4b4b4,
Tff7b72"say_hello"Tb4b4b4: Ta5d6ff"Say hello!"Tb4b4b4,
Tff7b72"no_active_chat"Tb4b4b4: Ta5d6ff"No Active Chat"Tb4b4b4,
Tff7b72"mobile_compose_title"Tb4b4b4: Ta5d6ff"New message"Tb4b4b4,
Tff7b72"mobile_compose_destination_placeholder"Tb4b4b4: Ta5d6ff"32-character destination hash…"Tb4b4b4,
Tff7b72"select_peer_or_enter_address"Tb4b4b4: Ta5d6ff"Select a peer from the sidebar or enter an address below"Tb4b4b4,
Tff7b72"add_files"Tb4b4b4: Ta5d6ff"Add Files"Tb4b4b4,
Tff7b72"paste_from_clipboard"Tb4b4b4: Ta5d6ff"Paste from Clipboard"Tb4b4b4,
Tff7b72"location"Tb4b4b4: Ta5d6ff"Location"Tb4b4b4,
Tff7b72"share_location"Tb4b4b4: Ta5d6ff"Share Location"Tb4b4b4,
Tff7b72"request_location"Tb4b4b4: Ta5d6ff"Request Location"Tb4b4b4,
Tff7b72"view_on_map"Tb4b4b4: Ta5d6ff"View on Map"Tb4b4b4,
Tff7b72"request"Tb4b4b4: Ta5d6ff"Request"Tb4b4b4,
Tff7b72"generate_paper_message"Tb4b4b4: Ta5d6ff"Generate Paper Message (LXM)"Tb4b4b4,
Tff7b72"ingest_paper_message"Tb4b4b4: Ta5d6ff"Ingest Paper Message"Tb4b4b4,
Tff7b72"scan_qr"Tb4b4b4: Ta5d6ff"Scan QR Code"Tb4b4b4,
Tff7b72"scanner_hint"Tb4b4b4: Ta5d6ff"Point your camera at an lxmf://, lxma://, or lxm:// QR code."Tb4b4b4,
Tff7b72"camera_not_supported"Tb4b4b4: Ta5d6ff"Camera QR scanning is not supported in this browser."Tb4b4b4,
Tff7b72"camera_permission_denied"Tb4b4b4: Ta5d6ff"Camera permission denied. Please allow camera access."Tb4b4b4,
Tff7b72"camera_not_found"Tb4b4b4: Ta5d6ff"No camera device found."Tb4b4b4,
Tff7b72"camera_failed"Tb4b4b4: Ta5d6ff"Failed to start camera scanner."Tb4b4b4,
Tff7b72"invalid_qr_uri"Tb4b4b4: Ta5d6ff"Invalid QR content. Expected an lxmf://, lxma://, or lxm:// URI."Tb4b4b4,
Tff7b72"recording"Tb4b4b4: Ta5d6ff"Recording: {duration}"Tb4b4b4,
Tff7b72"nomad_network_node"Tb4b4b4: Ta5d6ff"Nomad Network Node"Tb4b4b4,
Tff7b72"toggle_source"Tb4b4b4: Ta5d6ff"Toggle Source Code"Tb4b4b4,
Tff7b72"folder_created"Tb4b4b4: Ta5d6ff"Folder created"Tb4b4b4,
Tff7b72"failed_create_folder"Tb4b4b4: Ta5d6ff"Failed to create folder"Tb4b4b4,
Tff7b72"folder_renamed"Tb4b4b4: Ta5d6ff"Folder renamed"Tb4b4b4,
Tff7b72"failed_rename_folder"Tb4b4b4: Ta5d6ff"Failed to rename folder"Tb4b4b4,
Tff7b72"folder_deleted"Tb4b4b4: Ta5d6ff"Folder deleted"Tb4b4b4,
Tff7b72"failed_delete_folder"Tb4b4b4: Ta5d6ff"Failed to delete folder"Tb4b4b4,
Tff7b72"moved_to_folder"Tb4b4b4: Ta5d6ff"Moved to folder"Tb4b4b4,
Tff7b72"failed_move_folder"Tb4b4b4: Ta5d6ff"Failed to move to folder"Tb4b4b4,
Tff7b72"marked_read"Tb4b4b4: Ta5d6ff"Marked as read"Tb4b4b4,
Tff7b72"failed_mark_read"Tb4b4b4: Ta5d6ff"Failed to mark as read"Tb4b4b4,
Tff7b72"conversations_deleted"Tb4b4b4: Ta5d6ff"Conversations deleted"Tb4b4b4,
Tff7b72"failed_delete_conversations"Tb4b4b4: Ta5d6ff"Failed to delete conversations"Tb4b4b4,
Tff7b72"failed_export_folders"Tb4b4b4: Ta5d6ff"Failed to export folders"Tb4b4b4,
Tff7b72"folders_imported"Tb4b4b4: Ta5d6ff"Folders imported"Tb4b4b4,
Tff7b72"failed_import_folders"Tb4b4b4: Ta5d6ff"Failed to import folders"Tb4b4b4,
Tff7b72"failed_read_clipboard"Tb4b4b4: Ta5d6ff"Failed to read from clipboard"Tb4b4b4,
Tff7b72"clipboard_read_requires_secure_context"Tb4b4b4: Ta5d6ff"Clipboard read needs a secure page (https or http://127.0.0.1). Using http://0.0.0.0 or another non-local HTTP origin blocks the Clipboard API—open the app on 127.0.0.1 or https, or paste with Ctrl+V."Tb4b4b4,
Tff7b72"clipboard_write_unavailable"Tb4b4b4: Ta5d6ff"Could not copy automatically. Open on https or http://127.0.0.1, or select the text and copy manually."Tb4b4b4,
Tff7b72"oversized_body_notice"Tb4b4b4: Ta5d6ff"This message is too large to display here ({count} characters). Copy the full text to read or edit it elsewhere."Tb4b4b4,
Tff7b72"oversized_body_copy"Tb4b4b4: Ta5d6ff"Copy full text"Tb4b4b4,
Tff7b72"oversized_body_copied"Tb4b4b4: Ta5d6ff"Full message text copied"Tb4b4b4,
Tff7b72"date_divider_today"Tb4b4b4: Ta5d6ff"Today"Tb4b4b4,
Tff7b72"date_divider_yesterday"Tb4b4b4: Ta5d6ff"Yesterday"Tb4b4b4,
Tff7b72"raw_path_interface_at_send"Tb4b4b4: Ta5d6ff"Path interface (when recorded)"Tb4b4b4,
Tff7b72"raw_path_hops_at_send"Tb4b4b4: Ta5d6ff"Path hops (when recorded)"Tb4b4b4,
Tff7b72"raw_path_value_unknown"Tb4b4b4: Ta5d6ff"Unknown"Tb4b4b4,
Tff7b72"raw_path_finding_measure"Tb4b4b4: Ta5d6ff"Pathfinding at send (outbound)"Tb4b4b4,
Tff7b72"raw_path_row_hash_rnpath"Tb4b4b4: Ta5d6ff"Path table hash (rnpath)"Tb4b4b4,
Tff7b72"raw_path_row_hash_rnpath_hint"Tb4b4b4: Ta5d6ff"The destination hash used by Reticulum for this route. You can find it in the path table."Tb4b4b4,
Tff7b72"copy_message"Tb4b4b4: Ta5d6ff"Copy message"Tb4b4b4,
Tff7b72"message_copied"Tb4b4b4: Ta5d6ff"Message copied"Tb4b4b4,
Tff7b72"failed_copy_message"Tb4b4b4: Ta5d6ff"Could not copy message"Tb4b4b4,
Tff7b72"failed_send_ingest"Tb4b4b4: Ta5d6ff"Failed to send ingest request"Tb4b4b4,
Tff7b72"address_copied"Tb4b4b4: Ta5d6ff"Your LXMF address copied to clipboard"Tb4b4b4,
Tff7b72"map_link_share_title"Tb4b4b4: Ta5d6ff"Shared map view"Tb4b4b4,
Tff7b72"map_link_ping_title"Tb4b4b4: Ta5d6ff"Map ping"Tb4b4b4,
Tff7b72"map_link_open"Tb4b4b4: Ta5d6ff"Open on map"Tb4b4b4,
Tff7b72"map_link_copy_uri"Tb4b4b4: Ta5d6ff"Copy meshchatx link"Tb4b4b4,
Tff7b72"map_link_copied"Tb4b4b4: Ta5d6ff"Map link copied"Tb4b4b4,
Tff7b72"hash_copied"Tb4b4b4: Ta5d6ff"Identity hash copied to clipboard"Tb4b4b4,
Tff7b72"failed_to_copy_hash"Tb4b4b4: Ta5d6ff"Failed to copy identity hash"Tb4b4b4,
Tff7b72"copy_hash"Tb4b4b4: Ta5d6ff"Copy Hash"Tb4b4b4,
Tff7b72"failed_copy_address"Tb4b4b4: Ta5d6ff"Failed to copy address"Tb4b4b4,
Tff7b72"translation_failed"Tb4b4b4: Ta5d6ff"Translation failed"Tb4b4b4,
Tff7b72"translate_select_target"Tb4b4b4: Ta5d6ff"Translate to"Tb4b4b4,
Tff7b72"translating_message"Tb4b4b4: Ta5d6ff"Translating..."Tb4b4b4,
Tff7b72"translated_from_to"Tb4b4b4: Ta5d6ff"Translated from {source} to {target}"Tb4b4b4,
Tff7b72"show_original"Tb4b4b4: Ta5d6ff"Show original"Tb4b4b4,
Tff7b72"show_translation"Tb4b4b4: Ta5d6ff"Show translation"Tb4b4b4,
Tff7b72"translate_message"Tb4b4b4: Ta5d6ff"Translate message"Tb4b4b4,
Tff7b72"translate_target_invalid"Tb4b4b4: Ta5d6ff"Choose a different target language than the source"Tb4b4b4,
Tff7b72"failed_add_contact"Tb4b4b4: Ta5d6ff"Failed to add contact"Tb4b4b4,
Tff7b72"ingesting_paper_message"Tb4b4b4: Ta5d6ff"Ingesting paper message..."Tb4b4b4,
Tff7b72"failed_ingest_paper"Tb4b4b4: Ta5d6ff"Failed to ingest paper message"Tb4b4b4,
Tff7b72"enter_display_name"Tb4b4b4: Ta5d6ff"Enter a custom display name"Tb4b4b4,
Tff7b72"failed_update_display_name"Tb4b4b4: Ta5d6ff"Failed to update display name"Tb4b4b4,
Tff7b72"failed_load_audio"Tb4b4b4: Ta5d6ff"Failed to load audio attachment."Tb4b4b4,
Tff7b72"no_contacts_telephone"Tb4b4b4: Ta5d6ff"No contacts found in telephone"Tb4b4b4,
Tff7b72"failed_load_contacts"Tb4b4b4: Ta5d6ff"Failed to load contacts"Tb4b4b4,
Tff7b72"location_request_sent"Tb4b4b4: Ta5d6ff"Location request sent"Tb4b4b4,
Tff7b72"failed_send_location_request"Tb4b4b4: Ta5d6ff"Failed to send location request"Tb4b4b4,
Tff7b72"fetching_location"Tb4b4b4: Ta5d6ff"Fetching location..."Tb4b4b4,
Tff7b72"location_sent"Tb4b4b4: Ta5d6ff"Location shared successfully"Tb4b4b4,
Tff7b72"location_requested"Tb4b4b4: Ta5d6ff"Location requested"Tb4b4b4,
Tff7b72"remove_image_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to remove this image attachment?"Tb4b4b4,
Tff7b72"failed_start_recording"Tb4b4b4: Ta5d6ff"failed to start recording"Tb4b4b4,
Tff7b72"failed_start_recording_help_mediadevices"Tb4b4b4: Ta5d6ff"This web view does not expose a microphone API."Tb4b4b4,
Tff7b72"failed_start_recording_help_web_audio"Tb4b4b4: Ta5d6ff"Web Audio is not available in this browser."Tb4b4b4,
Tff7b72"failed_start_recording_help_audio_worklet"Tb4b4b4: Ta5d6ff"AudioWorklet is not supported — OPUS voice notes require it."Tb4b4b4,
Tff7b72"failed_start_recording_help_permission"Tb4b4b4: Ta5d6ff"Allow microphone access, or try again after another app releases the microphone."Tb4b4b4,
Tff7b72"remove_audio_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to remove this audio attachment?"Tb4b4b4,
Tff7b72"failed_generate_qr"Tb4b4b4: Ta5d6ff"Failed to generate QR"Tb4b4b4,
Tff7b72"enter_folder_name"Tb4b4b4: Ta5d6ff"Enter folder name"Tb4b4b4,
Tff7b72"new_folder"Tb4b4b4: Ta5d6ff"New Folder"Tb4b4b4,
Tff7b72"rename_folder"Tb4b4b4: Ta5d6ff"Rename folder"Tb4b4b4,
Tff7b72"failed_render_qr"Tb4b4b4: Ta5d6ff"Failed to render QR code"Tb4b4b4,
Tff7b72"uri_copied"Tb4b4b4: Ta5d6ff"URI copied to clipboard"Tb4b4b4,
Tff7b72"failed_copy_uri"Tb4b4b4: Ta5d6ff"Failed to copy URI"Tb4b4b4,
Tff7b72"paper_message_sent"Tb4b4b4: Ta5d6ff"Paper message sent successfully"Tb4b4b4,
Tff7b72"failed_send_paper"Tb4b4b4: Ta5d6ff"Failed to send paper message"Tb4b4b4,
Tff7b72"failed_load_config"Tb4b4b4: Ta5d6ff"Failed to load configuration"Tb4b4b4,
Tff7b72"profile_icon_saved"Tb4b4b4: Ta5d6ff"Profile icon saved successfully"Tb4b4b4,
Tff7b72"failed_save_profile_icon"Tb4b4b4: Ta5d6ff"Failed to save profile icon"Tb4b4b4,
Tff7b72"select_colors_warning"Tb4b4b4: Ta5d6ff"Please select both background and icon colors"Tb4b4b4,
Tff7b72"select_icon_warning"Tb4b4b4: Ta5d6ff"Please select an icon"Tb4b4b4,
Tff7b72"changes_reset"Tb4b4b4: Ta5d6ff"Changes reset to saved values"Tb4b4b4,
Tff7b72"profile_icon_removed"Tb4b4b4: Ta5d6ff"Profile icon removed successfully"Tb4b4b4,
Tff7b72"user_banished"Tb4b4b4: Ta5d6ff"User banished successfully"Tb4b4b4,
Tff7b72"failed_banish_user"Tb4b4b4: Ta5d6ff"Failed to banish user"Tb4b4b4,
Tff7b72"banish_user"Tb4b4b4: Ta5d6ff"Banish user"Tb4b4b4,
Tff7b72"banish_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to banish this user? They will not be able to send you messages or establish links."Tb4b4b4,
Tff7b72"delete_conversation_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to delete this conversation?"Tb4b4b4,
Tff7b72"failed_delete_conversation"Tb4b4b4: Ta5d6ff"failed to delete conversation"Tb4b4b4,
Tff7b72"delete_history_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to delete all messages in this conversation? This can not be undone!"Tb4b4b4,
Tff7b72"failed_delete_history"Tb4b4b4: Ta5d6ff"failed to delete history"Tb4b4b4,
Tff7b72"pin_conversation"Tb4b4b4: Ta5d6ff"Pin conversation"Tb4b4b4,
Tff7b72"unpin_conversation"Tb4b4b4: Ta5d6ff"Unpin conversation"Tb4b4b4,
Tff7b72"failed_toggle_pin"Tb4b4b4: Ta5d6ff"Could not update pin"Tb4b4b4,
Tff7b72"opportunistic_deferred_label"Tb4b4b4: Ta5d6ff"Waiting"Tb4b4b4,
Tff7b72"opportunistic_deferred_tooltip"Tb4b4b4: Ta5d6ff"Message will send as soon as the user comes online or announces."Tb4b4b4,
Tff7b72"invalid_destination_hash"Tb4b4b4: Ta5d6ff"Invalid destination hash"Tb4b4b4,
Tff7b72"invalid_destination_hash_format"Tb4b4b4: Ta5d6ff"Invalid destination hash format"Tb4b4b4,
Tff7b72"ping_failed"Tb4b4b4: Ta5d6ff"Ping failed. Try again later"Tb4b4b4,
Tff7b72"ping_in_progress"Tb4b4b4: Ta5d6ff"Pinging destination"Tb4b4b4,
Tff7b72"ping_reply_from"Tb4b4b4: Ta5d6ff"Valid reply from {hash}"Tb4b4b4,
Tff7b72"duration"Tb4b4b4: Ta5d6ff"Duration: {duration}"Tb4b4b4,
Tff7b72"hops_there"Tb4b4b4: Ta5d6ff"Hops There: {count}"Tb4b4b4,
Tff7b72"hops_back"Tb4b4b4: Ta5d6ff"Hops Back: {count}"Tb4b4b4,
Tff7b72"signal_quality"Tb4b4b4: Ta5d6ff"Signal Quality: {quality}%"Tb4b4b4,
Tff7b72"rssi_val"Tb4b4b4: Ta5d6ff"RSSI: {rssi}dBm"Tb4b4b4,
Tff7b72"snr_val"Tb4b4b4: Ta5d6ff"SNR: {snr}dB"Tb4b4b4,
Tff7b72"reply"Tb4b4b4: Ta5d6ff"Reply"Tb4b4b4,
Tff7b72"replying_to"Tb4b4b4: Ta5d6ff"Replying to"Tb4b4b4,
Tff7b72"forward_banner_label"Tb4b4b4: Ta5d6ff"Forwarded message"Tb4b4b4,
Tff7b72"forward_you_shared"Tb4b4b4: Ta5d6ff"You're forwarding this quote"Tb4b4b4,
Tff7b72"forward_pick_recipient_title"Tb4b4b4: Ta5d6ff"Forward to contact"Tb4b4b4,
Tff7b72"forward_message"Tb4b4b4: Ta5d6ff"Forward"Tb4b4b4,
Tff7b72"forward_sent"Tb4b4b4: Ta5d6ff"Message forwarded"Tb4b4b4,
Tff7b72"forward_failed"Tb4b4b4: Ta5d6ff"Could not forward message"Tb4b4b4,
Tff7b72"forward_no_lxmf_destination"Tb4b4b4: Ta5d6ff"This contact has no usable LXMF delivery address."Tb4b4b4,
Tff7b72"forward_verify_show"Tb4b4b4: Ta5d6ff"Source and verification"Tb4b4b4,
Tff7b72"forward_verify_hide"Tb4b4b4: Ta5d6ff"Hide verification"Tb4b4b4,
Tff7b72"forward_verify_explanation"Tb4b4b4: Ta5d6ff"Paper LXMF links only work if the full message is available and fits Paper limits. Quoted snippets can be faked."Tb4b4b4,
Tff7b72"forward_verify_loading"Tb4b4b4: Ta5d6ff"Looking up verification URI…"Tb4b4b4,
Tff7b72"forward_verify_open_uri"Tb4b4b4: Ta5d6ff"Open verification URI"Tb4b4b4,
Tff7b72"forward_verify_unavailable"Tb4b4b4: Ta5d6ff"Original message bytes are not cached here, so no verification URI could be built."Tb4b4b4,
Tff7b72"forward_verify_not_cached"Tb4b4b4: Ta5d6ff"Original message bytes are not cached here."Tb4b4b4,
Tff7b72"forward_verify_failed"Tb4b4b4: Ta5d6ff"Verification lookup failed."Tb4b4b4,
Tff7b72"forward_content_stub"Tb4b4b4: Ta5d6ff"_Forwarded via MeshChatX_\nAttachments and quoted text belong to the original sender."Tb4b4b4,
Tff7b72"forward_open_party_is_self"Tb4b4b4: Ta5d6ff"That is your own address."Tb4b4b4,
Tff7b72"message_actions"Tb4b4b4: Ta5d6ff"Message actions"Tb4b4b4,
Tff7b72"react"Tb4b4b4: Ta5d6ff"React"Tb4b4b4,
Tff7b72"reaction_you"Tb4b4b4: Ta5d6ff"You"Tb4b4b4,
Tff7b72"reaction_send_failed"Tb4b4b4: Ta5d6ff"Could not send reaction"Tb4b4b4,
Tff7b72"conversation_reaction_preview"Tb4b4b4: Ta5d6ff"{name} reacted {emoji}"Tb4b4b4,
Tff7b72"conversation_location_share_you"Tb4b4b4: Ta5d6ff"You shared your location"Tb4b4b4,
Tff7b72"conversation_location_share_other"Tb4b4b4: Ta5d6ff"{name} shared their location"Tb4b4b4,
Tff7b72"conversation_telemetry_preview"Tb4b4b4: Ta5d6ff"{name} sent telemetry"Tb4b4b4,
Tff7b72"conversation_telemetry_stream_preview"Tb4b4b4: Ta5d6ff"{name} sent a telemetry stream"Tb4b4b4,
Tff7b72"conversation_location_request_in_preview"Tb4b4b4: Ta5d6ff"{name} requested your location"Tb4b4b4,
Tff7b72"conversation_location_request_out_preview"Tb4b4b4: Ta5d6ff"{name} sent a location request"Tb4b4b4,
Tff7b72"message_not_found_in_cache"Tb4b4b4: Ta5d6ff"Message not found in cache"
Tb4b4b4},
Tff7b72"settings"Tb4b4b4: Tb4b4b4{
Tff7b72"shortcut_saved"Tb4b4b4: Ta5d6ff"Shortcut saved"Tb4b4b4,
Tff7b72"shortcut_deleted"Tb4b4b4: Ta5d6ff"Shortcut deleted"Tb4b4b4,
Tff7b72"archived_pages_flushed"Tb4b4b4: Ta5d6ff"Archived pages flushed."Tb4b4b4,
Tff7b72"failed_enable_transport"Tb4b4b4: Ta5d6ff"Failed to enable transport mode!"Tb4b4b4,
Tff7b72"failed_disable_transport"Tb4b4b4: Ta5d6ff"Failed to disable transport mode!"Tb4b4b4,
Tff7b72"failed_reload_reticulum"Tb4b4b4: Ta5d6ff"Failed to reload Reticulum!"Tb4b4b4,
Tff7b72"folders_exported"Tb4b4b4: Ta5d6ff"Folders exported"Tb4b4b4,
Tff7b72"failed_export_folders"Tb4b4b4: Ta5d6ff"Failed to export folders"Tb4b4b4,
Tff7b72"folders_imported"Tb4b4b4: Ta5d6ff"Folders and mappings imported successfully"Tb4b4b4,
Tff7b72"failed_import_folders"Tb4b4b4: Ta5d6ff"Failed to import folders"Tb4b4b4,
Tff7b72"share_apk_heading"Tb4b4b4: Ta5d6ff"Share this install"Tb4b4b4,
Tff7b72"share_apk_desc"Tb4b4b4: Ta5d6ff"Send the installed MeshChatX package over Bluetooth, Nearby Share, or another app. Only available in the Android app."Tb4b4b4,
Tff7b72"share_apk_short_hint"Tb4b4b4: Ta5d6ff"Opens the system share sheet for this APK."Tb4b4b4,
Tff7b72"share_apk"Tb4b4b4: Ta5d6ff"Share app (APK)"Tb4b4b4,
Tff7b72"share_apk_failed"Tb4b4b4: Ta5d6ff"Could not open the share sheet for the APK."Tb4b4b4,
Tff7b72"nomad_micron_wasm_title"Tb4b4b4: Ta5d6ff"Micron (WASM)"Tb4b4b4,
Tff7b72"nomad_micron_wasm_desc_before_link"Tb4b4b4: Ta5d6ff"Use a faster engine ("Tb4b4b4,
Tff7b72"nomad_micron_wasm_link_label"Tb4b4b4: Ta5d6ff"micron-parser-go"Tb4b4b4,
Tff7b72"nomad_micron_wasm_desc_after_link"Tb4b4b4: Ta5d6ff"). When on, the WebAssembly build can load and be updated in settings. When off, Micron uses JavaScript only. Pick the default renderer below; you can still switch from the Nomad browser toolbar."Tb4b4b4,
Tff7b72"nomad_micron_default_engine_title"Tb4b4b4: Ta5d6ff"Default Micron renderer (.mu)"Tb4b4b4,
Tff7b72"nomad_micron_default_engine_desc"Tb4b4b4: Ta5d6ff"JavaScript is the default. WebAssembly uses micron-parser-go when the engine above is enabled and the module has loaded."Tb4b4b4,
Tff7b72"nomad_micron_default_engine_option_js"Tb4b4b4: Ta5d6ff"JavaScript (micron-parser)"Tb4b4b4,
Tff7b72"nomad_micron_default_engine_option_wasm"Tb4b4b4: Ta5d6ff"WebAssembly (micron-parser-go)"Tb4b4b4,
Tff7b72"micron_wasm_update_open_btn"Tb4b4b4: Ta5d6ff"Update WASM engine…"Tb4b4b4,
Tff7b72"micron_wasm_update_modal_title"Tb4b4b4: Ta5d6ff"Micron WASM engine"Tb4b4b4,
Tff7b72"micron_wasm_update_active_label"Tb4b4b4: Ta5d6ff"Active override"Tb4b4b4,
Tff7b72"micron_wasm_update_active_source"Tb4b4b4: Ta5d6ff"Source: {source}"Tb4b4b4,
Tff7b72"micron_wasm_update_source_github"Tb4b4b4: Ta5d6ff"GitHub release (SHA-256 verified)"Tb4b4b4,
Tff7b72"micron_wasm_update_source_upload"Tb4b4b4: Ta5d6ff"Local file (not verified)"Tb4b4b4,
Tff7b72"micron_wasm_update_active_size"Tb4b4b4: Ta5d6ff"Size: {bytes} bytes"Tb4b4b4,
Tff7b72"micron_wasm_update_bundled_only"Tb4b4b4: Ta5d6ff"Using the WASM bundled with this app. Nothing is fetched from the network until you use the actions below."Tb4b4b4,
Tff7b72"micron_wasm_update_isolation_note"Tb4b4b4: Ta5d6ff"The browser cannot fully isolate WebAssembly from JavaScript. This app only exposes Micron conversion through a narrow API; rendered HTML is still sanitized. wasm_exec.js always comes from the app bundle to match the Go runtime."Tb4b4b4,
Tff7b72"micron_wasm_update_github_heading"Tb4b4b4: Ta5d6ff"Install from GitHub release"Tb4b4b4,
Tff7b72"micron_wasm_update_github_url_hint"Tb4b4b4: Ta5d6ff"Press Fetch so the MeshChat server downloads from GitHub (browser stays same-origin for CSP). Source path:"Tb4b4b4,
Tff7b72"micron_wasm_update_fetch_github"Tb4b4b4: Ta5d6ff"Fetch and install"Tb4b4b4,
Tff7b72"micron_wasm_update_upload_heading"Tb4b4b4: Ta5d6ff"Install from file"Tb4b4b4,
Tff7b72"micron_wasm_update_upload_warning"Tb4b4b4: Ta5d6ff"Uploaded WASM is not authenticity-checked. Only use files you trust."Tb4b4b4,
Tff7b72"micron_wasm_update_revert_bundled"Tb4b4b4: Ta5d6ff"Remove override (use bundled WASM)"Tb4b4b4,
Tff7b72"micron_wasm_update_err_empty_tag"Tb4b4b4: Ta5d6ff"Enter a release tag (for example v1.0.5)."Tb4b4b4,
Tff7b72"micron_wasm_update_err_not_wasm"Tb4b4b4: Ta5d6ff"Choose a file whose name ends with .wasm."Tb4b4b4,
Tff7b72"micron_wasm_update_err_too_large"Tb4b4b4: Ta5d6ff"That file is too large to store as a runtime override."Tb4b4b4,
Tff7b72"micron_wasm_update_err_too_small"Tb4b4b4: Ta5d6ff"That file is too small to be a valid WASM module."Tb4b4b4,
Tff7b72"micron_wasm_update_err_activate_failed"Tb4b4b4: Ta5d6ff"Installed file could not be loaded (check wasm_exec compatibility or try another build). Override was removed."Tb4b4b4,
Tff7b72"micron_wasm_update_toast_installed"Tb4b4b4: Ta5d6ff"Installed Micron WASM {tag}."Tb4b4b4,
Tff7b72"micron_wasm_update_toast_uploaded"Tb4b4b4: Ta5d6ff"Installed WASM from your file."Tb4b4b4,
Tff7b72"micron_wasm_update_toast_reverted"Tb4b4b4: Ta5d6ff"Restored bundled Micron WASM."
Tb4b4b4},
Tff7b72"debug"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Debug Logs"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Read application and access logs, filter by severity, and search when troubleshooting."Tb4b4b4,
Tff7b72"tab_logs"Tb4b4b4: Ta5d6ff"Logs"Tb4b4b4,
Tff7b72"tab_access_attempts"Tb4b4b4: Ta5d6ff"Access attempts"Tb4b4b4,
Tff7b72"search_logs_placeholder"Tb4b4b4: Ta5d6ff"Search logs..."Tb4b4b4,
Tff7b72"search_access_placeholder"Tb4b4b4: Ta5d6ff"Search IP, path, outcome..."Tb4b4b4,
Tff7b72"level_all"Tb4b4b4: Ta5d6ff"All levels"Tb4b4b4,
Tff7b72"anomalies_only"Tb4b4b4: Ta5d6ff"Anomalies only"Tb4b4b4,
Tff7b72"outcome_all"Tb4b4b4: Ta5d6ff"All outcomes"Tb4b4b4,
Tff7b72"loading_logs"Tb4b4b4: Ta5d6ff"Loading logs..."Tb4b4b4,
Tff7b72"no_logs"Tb4b4b4: Ta5d6ff"No logs found."Tb4b4b4,
Tff7b72"loading_access"Tb4b4b4: Ta5d6ff"Loading access attempts..."Tb4b4b4,
Tff7b72"no_access"Tb4b4b4: Ta5d6ff"No access attempts recorded."Tb4b4b4,
Tff7b72"failed_fetch_logs"Tb4b4b4: Ta5d6ff"Failed to fetch logs"Tb4b4b4,
Tff7b72"failed_fetch_access"Tb4b4b4: Ta5d6ff"Failed to fetch access attempts"Tb4b4b4,
Tff7b72"logs_copied"Tb4b4b4: Ta5d6ff"Logs on this page copied to clipboard"Tb4b4b4,
Tff7b72"access_copied"Tb4b4b4: Ta5d6ff"Access attempts copied to clipboard"Tb4b4b4,
Tff7b72"failed_copy_logs"Tb4b4b4: Ta5d6ff"Failed to copy logs"Tb4b4b4,
Tff7b72"failed_copy_access"Tb4b4b4: Ta5d6ff"Failed to copy access attempts"
Tb4b4b4},
Tff7b72"visualiser"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Network Visualiser"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Graph of discovered nodes and links."Tb4b4b4,
Tff7b72"reticulum_mesh"Tb4b4b4: Ta5d6ff"Reticulum Mesh"Tb4b4b4,
Tff7b72"network_visualizer"Tb4b4b4: Ta5d6ff"Network Visualizer"Tb4b4b4,
Tff7b72"node_info"Tb4b4b4: Ta5d6ff"Node Info"Tb4b4b4,
Tff7b72"hash"Tb4b4b4: Ta5d6ff"Hash"Tb4b4b4,
Tff7b72"hops"Tb4b4b4: Ta5d6ff"Hops"Tb4b4b4,
Tff7b72"interface"Tb4b4b4: Ta5d6ff"Interface"Tb4b4b4,
Tff7b72"rssi"Tb4b4b4: Ta5d6ff"RSSI"Tb4b4b4,
Tff7b72"snr"Tb4b4b4: Ta5d6ff"SNR"Tb4b4b4,
Tff7b72"first_seen"Tb4b4b4: Ta5d6ff"First seen"Tb4b4b4,
Tff7b72"last_seen"Tb4b4b4: Ta5d6ff"Last seen"Tb4b4b4,
Tff7b72"center_node"Tb4b4b4: Ta5d6ff"Center on node"Tb4b4b4,
Tff7b72"copy_hash"Tb4b4b4: Ta5d6ff"Copy Hash"Tb4b4b4,
Tff7b72"banish_identity"Tb4b4b4: Ta5d6ff"Banish identity"Tb4b4b4,
Tff7b72"banished_identities"Tb4b4b4: Ta5d6ff"Banished identities"Tb4b4b4,
Tff7b72"filter_nodes"Tb4b4b4: Ta5d6ff"Filter nodes..."Tb4b4b4,
Tff7b72"all"Tb4b4b4: Ta5d6ff"All"Tb4b4b4,
Tff7b72"direct"Tb4b4b4: Ta5d6ff"Direct"Tb4b4b4,
Tff7b72"one_hop"Tb4b4b4: Ta5d6ff"1 Hop"Tb4b4b4,
Tff7b72"multi_hops"Tb4b4b4: Ta5d6ff"2+ Hops"Tb4b4b4,
Tff7b72"clear"Tb4b4b4: Ta5d6ff"Clear"Tb4b4b4,
Tff7b72"show_labels"Tb4b4b4: Ta5d6ff"Show all labels"Tb4b4b4,
Tff7b72"show_edges"Tb4b4b4: Ta5d6ff"Show edges"Tb4b4b4,
Tff7b72"show_tooltips"Tb4b4b4: Ta5d6ff"Show tooltips"Tb4b4b4,
Tff7b72"show_rssi"Tb4b4b4: Ta5d6ff"Show RSSI"Tb4b4b4,
Tff7b72"show_snr"Tb4b4b4: Ta5d6ff"Show SNR"Tb4b4b4,
Tff7b72"show_hops"Tb4b4b4: Ta5d6ff"Show Hops"Tb4b4b4,
Tff7b72"physics"Tb4b4b4: Ta5d6ff"Physics"Tb4b4b4,
Tff7b72"gravity"Tb4b4b4: Ta5d6ff"Gravity"Tb4b4b4,
Tff7b72"spring_length"Tb4b4b4: Ta5d6ff"Spring length"Tb4b4b4,
Tff7b72"spring_strength"Tb4b4b4: Ta5d6ff"Spring strength"Tb4b4b4,
Tff7b72"damping"Tb4b4b4: Ta5d6ff"Damping"Tb4b4b4,
Tff7b72"central_gravity"Tb4b4b4: Ta5d6ff"Central gravity"Tb4b4b4,
Tff7b72"edge_strength"Tb4b4b4: Ta5d6ff"Edge strength"Tb4b4b4,
Tff7b72"force_atlas_2"Tb4b4b4: Ta5d6ff"Force Atlas 2"Tb4b4b4,
Tff7b72"barns_hut"Tb4b4b4: Ta5d6ff"Barns Hut"Tb4b4b4,
Tff7b72"repulsion"Tb4b4b4: Ta5d6ff"Repulsion"Tb4b4b4,
Tff7b72"reset_physics"Tb4b4b4: Ta5d6ff"Reset physics"Tb4b4b4,
Tff7b72"reset_camera"Tb4b4b4: Ta5d6ff"Reset Camera"Tb4b4b4,
Tff7b72"clear_graph"Tb4b4b4: Ta5d6ff"Clear graph"Tb4b4b4,
Tff7b72"total_nodes"Tb4b4b4: Ta5d6ff"Total nodes"Tb4b4b4,
Tff7b72"total_edges"Tb4b4b4: Ta5d6ff"Total edges"Tb4b4b4,
Tff7b72"discovered"Tb4b4b4: Ta5d6ff"Discovered"Tb4b4b4,
Tff7b72"wait_between_batches"Tb4b4b4: Ta5d6ff"Wait between batches"Tb4b4b4,
Tff7b72"batch"Tb4b4b4: Ta5d6ff"Batch"Tb4b4b4,
Tff7b72"loading_status"Tb4b4b4: Ta5d6ff"Loading status"Tb4b4b4,
Tff7b72"failed_load"Tb4b4b4: Ta5d6ff"Failed to load network data"Tb4b4b4,
Tff7b72"max_hops_filter"Tb4b4b4: Ta5d6ff"Max hops"Tb4b4b4,
Tff7b72"show_disabled_interfaces"Tb4b4b4: Ta5d6ff"Show offline interfaces"Tb4b4b4,
Tff7b72"show_discovered_interfaces"Tb4b4b4: Ta5d6ff"Show discovered interfaces"
Tb4b4b4},
Tff7b72"banishment"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Banished"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Review and lift blocks on identities and nodes."Tb4b4b4,
Tff7b72"failed_load_banished"Tb4b4b4: Ta5d6ff"Failed to load banished destinations"Tb4b4b4,
Tff7b72"search_placeholder"Tb4b4b4: Ta5d6ff"Search by hash or display name..."Tb4b4b4,
Tff7b72"loading_items"Tb4b4b4: Ta5d6ff"Loading banished items..."Tb4b4b4,
Tff7b72"no_items"Tb4b4b4: Ta5d6ff"No banished items found"Tb4b4b4,
Tff7b72"lift_banishment"Tb4b4b4: Ta5d6ff"Lift Banishment"Tb4b4b4,
Tff7b72"lift_banishment_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to lift the banishment for {name}?"Tb4b4b4,
Tff7b72"banished_at"Tb4b4b4: Ta5d6ff"Banished at"Tb4b4b4,
Tff7b72"banished_until"Tb4b4b4: Ta5d6ff"Banished until"Tb4b4b4,
Tff7b72"reason"Tb4b4b4: Ta5d6ff"Reason"Tb4b4b4,
Tff7b72"type"Tb4b4b4: Ta5d6ff"Type"Tb4b4b4,
Tff7b72"user"Tb4b4b4: Ta5d6ff"User"Tb4b4b4,
Tff7b72"node"Tb4b4b4: Ta5d6ff"Node"Tb4b4b4,
Tff7b72"banishment_lifted"Tb4b4b4: Ta5d6ff"Banishment lifted successfully"Tb4b4b4,
Tff7b72"failed_lift_banishment"Tb4b4b4: Ta5d6ff"Failed to lift banishment"
Tb4b4b4},
Tff7b72"nomadnet"Tb4b4b4: Tb4b4b4{
Tff7b72"remove_favourite"Tb4b4b4: Ta5d6ff"Remove Favourite"Tb4b4b4,
Tff7b72"add_favourite"Tb4b4b4: Ta5d6ff"Add Favourite"Tb4b4b4,
Tff7b72"identify"Tb4b4b4: Ta5d6ff"Identify"Tb4b4b4,
Tff7b72"pop_out_browser"Tb4b4b4: Ta5d6ff"Pop out browser"Tb4b4b4,
Tff7b72"page_archives"Tb4b4b4: Ta5d6ff"Page Archives"Tb4b4b4,
Tff7b72"archive_current_version"Tb4b4b4: Ta5d6ff"Archive Current Version"Tb4b4b4,
Tff7b72"no_archives_for_this_page"Tb4b4b4: Ta5d6ff"No archives for this page"Tb4b4b4,
Tff7b72"viewing_archived_version_from"Tb4b4b4: Ta5d6ff"Viewing archived version from {time}"Tb4b4b4,
Tff7b72"viewing_archived_version"Tb4b4b4: Ta5d6ff"Viewing archived version"Tb4b4b4,
Tff7b72"load_live"Tb4b4b4: Ta5d6ff"Load Live"Tb4b4b4,
Tff7b72"failed_to_load_page"Tb4b4b4: Ta5d6ff"Failed to load page"Tb4b4b4,
Tff7b72"archived_version_available"Tb4b4b4: Ta5d6ff"An archived version of this page is available."Tb4b4b4,
Tff7b72"view_archive"Tb4b4b4: Ta5d6ff"View Archive"Tb4b4b4,
Tff7b72"no_active_node"Tb4b4b4: Ta5d6ff"No Active Node"Tb4b4b4,
Tff7b72"select_node_to_browse"Tb4b4b4: Ta5d6ff"Select a Node to start browsing!"Tb4b4b4,
Tff7b72"open_nomadnet_url"Tb4b4b4: Ta5d6ff"Open a Nomadnet URL"Tb4b4b4,
Tff7b72"unknown_node"Tb4b4b4: Ta5d6ff"Unknown Node"Tb4b4b4,
Tff7b72"existing_download_in_progress"Tb4b4b4: Ta5d6ff"An existing download is in progress. Please wait for it to finish before starting another download."Tb4b4b4,
Tff7b72"favourites"Tb4b4b4: Ta5d6ff"Favourites"Tb4b4b4,
Tff7b72"announces"Tb4b4b4: Ta5d6ff"Announces"Tb4b4b4,
Tff7b72"search_favourites_placeholder"Tb4b4b4: Ta5d6ff"Search {count} favourites..."Tb4b4b4,
Tff7b72"search_placeholder_announces"Tb4b4b4: Ta5d6ff"Search {count} recent announces..."Tb4b4b4,
Tff7b72"rename"Tb4b4b4: Ta5d6ff"Rename"Tb4b4b4,
Tff7b72"remove"Tb4b4b4: Ta5d6ff"Remove"Tb4b4b4,
Tff7b72"no_favourites"Tb4b4b4: Ta5d6ff"No favourites"Tb4b4b4,
Tff7b72"add_nodes_from_announces"Tb4b4b4: Ta5d6ff"Add nodes from the announces tab."Tb4b4b4,
Tff7b72"favourites_search_no_results"Tb4b4b4: Ta5d6ff"No favourites match your search"Tb4b4b4,
Tff7b72"favourites_search_try_other"Tb4b4b4: Ta5d6ff"Try a different search term."Tb4b4b4,
Tff7b72"no_favourites_in_section"Tb4b4b4: Ta5d6ff"No favourites in this section."Tb4b4b4,
Tff7b72"search_announces"Tb4b4b4: Ta5d6ff"Search announces"Tb4b4b4,
Tff7b72"announced_time_ago"Tb4b4b4: Ta5d6ff"Announced {time} ago"Tb4b4b4,
Tff7b72"block_node"Tb4b4b4: Ta5d6ff"Banish Node"Tb4b4b4,
Tff7b72"no_announces_yet"Tb4b4b4: Ta5d6ff"No announces yet"Tb4b4b4,
Tff7b72"no_search_results_peers"Tb4b4b4: Ta5d6ff"No peers found matching your search."Tb4b4b4,
Tff7b72"listening_for_peers"Tb4b4b4: Ta5d6ff"Listening for peers on the mesh."Tb4b4b4,
Tff7b72"block_node_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to banish {name}? Their announces will be ignored and they won't appear in the announce stream."Tb4b4b4,
Tff7b72"node_blocked_successfully"Tb4b4b4: Ta5d6ff"Node banished successfully"Tb4b4b4,
Tff7b72"failed_to_block_node"Tb4b4b4: Ta5d6ff"Failed to banish node"Tb4b4b4,
Tff7b72"failed_rename_favourite"Tb4b4b4: Ta5d6ff"Failed to rename favourite"Tb4b4b4,
Tff7b72"rename_favourite"Tb4b4b4: Ta5d6ff"Rename this favourite"Tb4b4b4,
Tff7b72"remove_favourite_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to remove this favourite?"Tb4b4b4,
Tff7b72"enter_nomadnet_url"Tb4b4b4: Ta5d6ff"Enter a Nomadnet URL"Tb4b4b4,
Tff7b72"archiving_page"Tb4b4b4: Ta5d6ff"Archiving page..."Tb4b4b4,
Tff7b72"page_archived_successfully"Tb4b4b4: Ta5d6ff"Page archived successfully."Tb4b4b4,
Tff7b72"identify_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to identify yourself to this NomadNetwork Node? The page will reload after your identity has been sent."Tb4b4b4,
Tff7b72"banishment_lifted"Tb4b4b4: Ta5d6ff"Banishment lifted successfully"Tb4b4b4,
Tff7b72"failed_lift_banishment"Tb4b4b4: Ta5d6ff"Failed to lift banishment"Tb4b4b4,
Tff7b72"lift_banishment"Tb4b4b4: Ta5d6ff"Lift Banishment"Tb4b4b4,
Tff7b72"enter_section_name"Tb4b4b4: Ta5d6ff"Enter section name"Tb4b4b4,
Tff7b72"new_section"Tb4b4b4: Ta5d6ff"New Section"Tb4b4b4,
Tff7b72"rename_section"Tb4b4b4: Ta5d6ff"Rename section"Tb4b4b4,
Tff7b72"delete_section_confirm"Tb4b4b4: Ta5d6ff"Delete this section? Favourites will move to the main section."Tb4b4b4,
Tff7b72"unsupported_url"Tb4b4b4: Ta5d6ff"unsupported url: "Tb4b4b4,
Tff7b72"path_away_suffix"Tb4b4b4: Ta5d6ff"away"Tb4b4b4,
Tff7b72"renderer_chip_micron_js"Tb4b4b4: Ta5d6ff"Micron JS"Tb4b4b4,
Tff7b72"renderer_chip_micron_wasm"Tb4b4b4: Ta5d6ff"Micron WASM"Tb4b4b4,
Tff7b72"renderer_hint_micron_js"Tb4b4b4: Ta5d6ff"micron-parser (JavaScript)"Tb4b4b4,
Tff7b72"renderer_hint_micron_wasm"Tb4b4b4: Ta5d6ff"micron-parser-go (WebAssembly)"Tb4b4b4,
Tff7b72"renderer_hint_micron_wasm_pending"Tb4b4b4: Ta5d6ff"Faster version loading or unavailable. Using the standard version."Tb4b4b4,
Tff7b72"renderer_popover_micron_wasm_powered"Tb4b4b4: Ta5d6ff"Powered by "Tb4b4b4,
Tff7b72"renderer_popover_micron_wasm_active_tail"Tb4b4b4: Ta5d6ff" {version}. WebAssembly renderer."Tb4b4b4,
Tff7b72"renderer_popover_micron_wasm_pending_tail"Tb4b4b4: Ta5d6ff" {version} is loading or unavailable. Using the standard version."Tb4b4b4,
Tff7b72"renderer_switch_title"Tb4b4b4: Ta5d6ff"Parser"Tb4b4b4,
Tff7b72"renderer_menu_js"Tb4b4b4: Ta5d6ff"Micron: JavaScript"Tb4b4b4,
Tff7b72"renderer_menu_wasm"Tb4b4b4: Ta5d6ff"Micron: WebAssembly"Tb4b4b4,
Tff7b72"renderer_setting_failed"Tb4b4b4: Ta5d6ff"Could not update Micron renderer"Tb4b4b4,
Tff7b72"multiline_hint"Tb4b4b4: Ta5d6ff"Press Enter again to expand to multi-line"Tb4b4b4,
Tff7b72"renderer_chip_markdown"Tb4b4b4: Ta5d6ff"Markdown"Tb4b4b4,
Tff7b72"renderer_chip_html"Tb4b4b4: Ta5d6ff"HTML"Tb4b4b4,
Tff7b72"renderer_chip_plaintext"Tb4b4b4: Ta5d6ff"Text"Tb4b4b4,
Tff7b72"renderer_hint_markdown"Tb4b4b4: Ta5d6ff"Markdown renderer"Tb4b4b4,
Tff7b72"renderer_hint_html"Tb4b4b4: Ta5d6ff"Sanitized HTML"Tb4b4b4,
Tff7b72"renderer_hint_plaintext"Tb4b4b4: Ta5d6ff"Escaped plain text"Tb4b4b4,
Tff7b72"load_phase_default"Tb4b4b4: Ta5d6ff"Loading page"Tb4b4b4,
Tff7b72"load_phase_finding_path"Tb4b4b4: Ta5d6ff"Looking for a network path to the node"Tb4b4b4,
Tff7b72"load_phase_establishing_link"Tb4b4b4: Ta5d6ff"Establishing link to the node"Tb4b4b4,
Tff7b72"page_download_cancelled"Tb4b4b4: Ta5d6ff"Download cancelled."Tb4b4b4,
Tff7b72"load_phase_requesting_page"Tb4b4b4: Ta5d6ff"Sending page request"Tb4b4b4,
Tff7b72"load_phase_transferring"Tb4b4b4: Ta5d6ff"Receiving page"Tb4b4b4,
Tff7b72"path_finder"Tb4b4b4: Ta5d6ff"Path Finder"Tb4b4b4,
Tff7b72"path_finder_quick_request"Tb4b4b4: Ta5d6ff"Request path"Tb4b4b4,
Tff7b72"path_finder_force_find"Tb4b4b4: Ta5d6ff"Force find path (wait)"Tb4b4b4,
Tff7b72"path_finder_drop_and_request"Tb4b4b4: Ta5d6ff"Drop path and re-discover"Tb4b4b4,
Tff7b72"path_finder_load_archive"Tb4b4b4: Ta5d6ff"Load latest archive snapshot"Tb4b4b4,
Tff7b72"path_finder_request_sent"Tb4b4b4: Ta5d6ff"Path request sent"Tb4b4b4,
Tff7b72"path_finder_found"Tb4b4b4: Ta5d6ff"Path found, retrying page"Tb4b4b4,
Tff7b72"path_finder_not_found"Tb4b4b4: Ta5d6ff"No path found within timeout"Tb4b4b4,
Tff7b72"path_finder_dropped_and_requested"Tb4b4b4: Ta5d6ff"Path dropped, requesting again"Tb4b4b4,
Tff7b72"path_finder_failed"Tb4b4b4: Ta5d6ff"Path finder request failed"Tb4b4b4,
Tff7b72"path_finder_archive_loading"Tb4b4b4: Ta5d6ff"Looking for archive snapshot..."Tb4b4b4,
Tff7b72"export_section_favourites"Tb4b4b4: Ta5d6ff"Export section favourites"Tb4b4b4,
Tff7b72"section_favourites_exported"Tb4b4b4: Ta5d6ff"Section favourites exported"Tb4b4b4,
Tff7b72"section_favourites_export_failed"Tb4b4b4: Ta5d6ff"Could not export section favourites"Tb4b4b4,
Tff7b72"sidebar_selection_mode"Tb4b4b4: Ta5d6ff"Selection mode"Tb4b4b4,
Tff7b72"bulk_selected_count"Tb4b4b4: Ta5d6ff"{count} selected"Tb4b4b4,
Tff7b72"bulk_remove"Tb4b4b4: Ta5d6ff"Remove"Tb4b4b4,
Tff7b72"bulk_move_to_section"Tb4b4b4: Ta5d6ff"Move to section"Tb4b4b4,
Tff7b72"bulk_remove_favourites_confirm"Tb4b4b4: Ta5d6ff"Remove {count} favourites from this device?"Tb4b4b4,
Tff7b72"bulk_remove_favourites_done"Tb4b4b4: Ta5d6ff"Removed {count} favourites"Tb4b4b4,
Tff7b72"bulk_block_confirm"Tb4b4b4: Ta5d6ff"Banish {count} nodes from the announce list?"Tb4b4b4,
Tff7b72"bulk_block_done"Tb4b4b4: Ta5d6ff"Banished {count} nodes"Tb4b4b4,
Tff7b72"bulk_add_to_favourites"Tb4b4b4: Ta5d6ff"Add to favourites"Tb4b4b4,
Tff7b72"bulk_add_favourites_done"Tb4b4b4: Ta5d6ff"Added {count} nodes to favourites"Tb4b4b4,
Tff7b72"bulk_block_nodes"Tb4b4b4: Ta5d6ff"Banish"Tb4b4b4,
Tff7b72"bulk_nothing_to_add_favourites"Tb4b4b4: Ta5d6ff"Nothing to add (already favourites or none selected)"
Tb4b4b4},
Tff7b72"forwarder"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"LXMF Forwarder"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Forward LXMF between addresses with reply routing preserved."Tb4b4b4,
Tff7b72"add_rule"Tb4b4b4: Ta5d6ff"Add Forwarding Rule"Tb4b4b4,
Tff7b72"name"Tb4b4b4: Ta5d6ff"Name"Tb4b4b4,
Tff7b72"name_placeholder"Tb4b4b4: Ta5d6ff"Rule name (e.g. Home Node)..."Tb4b4b4,
Tff7b72"forward_to_hash"Tb4b4b4: Ta5d6ff"Forward to Hash"Tb4b4b4,
Tff7b72"destination_placeholder"Tb4b4b4: Ta5d6ff"Destination LXMF hash..."Tb4b4b4,
Tff7b72"source_filter"Tb4b4b4: Ta5d6ff"Source Filter (Optional)"Tb4b4b4,
Tff7b72"source_filter_placeholder"Tb4b4b4: Ta5d6ff"Only forward from this hash..."Tb4b4b4,
Tff7b72"add_button"Tb4b4b4: Ta5d6ff"Add Rule"Tb4b4b4,
Tff7b72"active_rules"Tb4b4b4: Ta5d6ff"Active Rules"Tb4b4b4,
Tff7b72"no_rules"Tb4b4b4: Ta5d6ff"No forwarding rules configured."Tb4b4b4,
Tff7b72"active"Tb4b4b4: Ta5d6ff"Active"Tb4b4b4,
Tff7b72"disabled"Tb4b4b4: Ta5d6ff"Disabled"Tb4b4b4,
Tff7b72"forwarding_to"Tb4b4b4: Ta5d6ff"Forwarding to: {hash}"Tb4b4b4,
Tff7b72"source_filter_display"Tb4b4b4: Ta5d6ff"Source filter: {hash}"Tb4b4b4,
Tff7b72"delete_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to delete this rule?"
Tb4b4b4},
Tff7b72"archives"Tb4b4b4: Tb4b4b4{
Tff7b72"description"Tb4b4b4: Ta5d6ff"Search Nomad Network pages stored in your local archive."Tb4b4b4,
Tff7b72"search_placeholder"Tb4b4b4: Ta5d6ff"Search content, hash or path..."Tb4b4b4,
Tff7b72"loading"Tb4b4b4: Ta5d6ff"Loading archives..."Tb4b4b4,
Tff7b72"no_archives_found"Tb4b4b4: Ta5d6ff"No archives found"Tb4b4b4,
Tff7b72"adjust_filters"Tb4b4b4: Ta5d6ff"Try adjusting your search filters."Tb4b4b4,
Tff7b72"browse_to_archive"Tb4b4b4: Ta5d6ff"Archived pages will appear here once you browse Nomad Network sites."Tb4b4b4,
Tff7b72"page"Tb4b4b4: Ta5d6ff"Page"Tb4b4b4,
Tff7b72"pages"Tb4b4b4: Ta5d6ff"Pages"Tb4b4b4,
Tff7b72"view"Tb4b4b4: Ta5d6ff"View"Tb4b4b4,
Tff7b72"showing_range"Tb4b4b4: Ta5d6ff"Showing {start} to {end} of {total} archives"Tb4b4b4,
Tff7b72"page_of"Tb4b4b4: Ta5d6ff"Page {page} of {total_pages}"Tb4b4b4,
Tff7b72"export_mu"Tb4b4b4: Ta5d6ff"Export .mu"Tb4b4b4,
Tff7b72"export_selected_mu"Tb4b4b4: Ta5d6ff"Export .mu ({count})"
Tb4b4b4},
Tff7b72"docs"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Documentation"Tb4b4b4,
Tff7b72"subtitle"Tb4b4b4: Ta5d6ff"Reticulum manual and MeshChatX guides, available offline after setup."Tb4b4b4,
Tff7b72"status_title"Tb4b4b4: Ta5d6ff"Documentation Status"Tb4b4b4,
Tff7b72"status_extracting"Tb4b4b4: Ta5d6ff"Extracting Documentation..."Tb4b4b4,
Tff7b72"status_available"Tb4b4b4: Ta5d6ff"Offline Manual Available"Tb4b4b4,
Tff7b72"status_not_available"Tb4b4b4: Ta5d6ff"Manual Not Available"Tb4b4b4,
Tff7b72"btn_upload"Tb4b4b4: Ta5d6ff"Upload Manual"Tb4b4b4,
Tff7b72"btn_share"Tb4b4b4: Ta5d6ff"Share Reticulum manual as a re-uploadable ZIP"Tb4b4b4,
Tff7b72"empty_state_hint"Tb4b4b4: Ta5d6ff"Upload a Reticulum manual ZIP to view it offline. Custom or updated documentation is supported."Tb4b4b4,
Tff7b72"error"Tb4b4b4: Ta5d6ff"Error"Tb4b4b4,
Tff7b72"failed_upload_docs"Tb4b4b4: Ta5d6ff"Failed to upload documentation"Tb4b4b4,
Tff7b72"docs_link_copied"Tb4b4b4: Ta5d6ff"Documentation link copied to clipboard"Tb4b4b4,
Tff7b72"failed_copy_link"Tb4b4b4: Ta5d6ff"Failed to copy link"
Tb4b4b4},
Tff7b72"licenses"Tb4b4b4: Tb4b4b4{
Tff7b72"section_label"Tb4b4b4: Ta5d6ff"Legal"Tb4b4b4,
Tff7b72"title"Tb4b4b4: Ta5d6ff"Third-party licenses"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Shows versions and licenses for all software components. This data is collected from the local environment."Tb4b4b4,
Tff7b72"short_description"Tb4b4b4: Ta5d6ff"Dependency versions, authors, and licenses for backend and frontend."Tb4b4b4,
Tff7b72"search_placeholder"Tb4b4b4: Ta5d6ff"Search packages, versions, authors, licenses..."Tb4b4b4,
Tff7b72"generated_at"Tb4b4b4: Ta5d6ff"Generated at {time}"Tb4b4b4,
Tff7b72"frontend_source"Tb4b4b4: Ta5d6ff"Frontend data: {source}"Tb4b4b4,
Tff7b72"backend_section"Tb4b4b4: Ta5d6ff"Backend (Python)"Tb4b4b4,
Tff7b72"frontend_section"Tb4b4b4: Ta5d6ff"Frontend (Node)"Tb4b4b4,
Tff7b72"col_package"Tb4b4b4: Ta5d6ff"Package"Tb4b4b4,
Tff7b72"col_version"Tb4b4b4: Ta5d6ff"Version"Tb4b4b4,
Tff7b72"col_author"Tb4b4b4: Ta5d6ff"Author"Tb4b4b4,
Tff7b72"col_license"Tb4b4b4: Ta5d6ff"License"
Tb4b4b4},
Tff7b72"tools"Tb4b4b4: Tb4b4b4{
Tff7b72"utilities"Tb4b4b4: Ta5d6ff"Utilities"Tb4b4b4,
Tff7b72"power_tools"Tb4b4b4: Ta5d6ff"Utilities"Tb4b4b4,
Tff7b72"diagnostics_description"Tb4b4b4: Ta5d6ff"Mesh and Reticulum utilities in one place: reachability, paths, file transfer, translation, documentation, and hardware helpers. Open any row for the full tool."Tb4b4b4,
Tff7b72"back_to_tools"Tb4b4b4: Ta5d6ff"Back to tools"Tb4b4b4,
Tff7b72"ping"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Ping"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Measure round-trip time to another node or app that answers ping."
Tb4b4b4},
Tff7b72"rnprobe"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"RNProbe"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Send test payloads over the mesh to check reachability and delay."
Tb4b4b4},
Tff7b72"rncp"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"RNCP"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Send files to or fetch files from another destination over Reticulum, with progress and optional compression."
Tb4b4b4},
Tff7b72"rngit_explorer"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"RNGit explorer"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"RNGit nodes heard on the mesh, probe repo names, and copy git clone commands (read-only)."
Tb4b4b4},
Tff7b72"rnstatus"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"RNStatus"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Per-interface traffic counters and link status from your Reticulum instance."
Tb4b4b4},
Tff7b72"rnpath"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"RNPath"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Inspect paths and announce queues, and request or drop routes when you need to steer traffic."Tb4b4b4,
Tff7b72"failed_fetch"Tb4b4b4: Ta5d6ff"Failed to fetch path data"Tb4b4b4,
Tff7b72"path_dropped"Tb4b4b4: Ta5d6ff"Path dropped"Tb4b4b4,
Tff7b72"failed_drop"Tb4b4b4: Ta5d6ff"Could not drop path"Tb4b4b4,
Tff7b72"error_drop"Tb4b4b4: Ta5d6ff"Error dropping path"Tb4b4b4,
Tff7b72"failed_request"Tb4b4b4: Ta5d6ff"Failed to request path"Tb4b4b4,
Tff7b72"paths_dropped"Tb4b4b4: Ta5d6ff"Paths dropped"Tb4b4b4,
Tff7b72"failed_drop_paths"Tb4b4b4: Ta5d6ff"Failed to drop paths"Tb4b4b4,
Tff7b72"purge_confirm"Tb4b4b4: Ta5d6ff"Purge all announce queues? This cannot be undone."Tb4b4b4,
Tff7b72"queues_purged"Tb4b4b4: Ta5d6ff"Announce queues purged"Tb4b4b4,
Tff7b72"failed_purge"Tb4b4b4: Ta5d6ff"Failed to purge queues"
Tb4b4b4},
Tff7b72"rnpath_trace"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"RNS Path Trace"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"List each hop along the path to a destination hash."Tb4b4b4,
Tff7b72"destination_hash"Tb4b4b4: Ta5d6ff"Destination Hash"Tb4b4b4,
Tff7b72"placeholder"Tb4b4b4: Ta5d6ff"Enter 32-char destination hash..."Tb4b4b4,
Tff7b72"trace"Tb4b4b4: Ta5d6ff"Trace Path"Tb4b4b4,
Tff7b72"tracing"Tb4b4b4: Ta5d6ff"Tracing path through the mesh..."Tb4b4b4,
Tff7b72"total_hops"Tb4b4b4: Ta5d6ff"Total Hops"Tb4b4b4,
Tff7b72"interface"Tb4b4b4: Ta5d6ff"Exit Interface"Tb4b4b4,
Tff7b72"next_hop"Tb4b4b4: Ta5d6ff"Next Hop"Tb4b4b4,
Tff7b72"ready_title"Tb4b4b4: Ta5d6ff"Trace a Path"Tb4b4b4,
Tff7b72"ready_desc"Tb4b4b4: Ta5d6ff"Enter a destination hash to list hops along the current path."Tb4b4b4,
Tff7b72"unknown_hops"Tb4b4b4: Ta5d6ff"{count} Intermediate Hops"Tb4b4b4,
Tff7b72"ping_test"Tb4b4b4: Ta5d6ff"Test with Ping"
Tb4b4b4},
Tff7b72"translator"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Translator"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Translate text with LibreTranslate over the network or Argos Translate on this device."
Tb4b4b4},
Tff7b72"forwarder"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Forwarder"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Forward LXMF messages between addresses while keeping reply routing intact."
Tb4b4b4},
Tff7b72"propagation_nodes"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Propagation nodes"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Pick preferred mesh propagation nodes, watch live stats, and run quick path checks."
Tb4b4b4},
Tff7b72"sieve_filters"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Sieve filters"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Auto-sort mail: match words in peer names or message text, then hide, silence, move to a folder, or block the sender."Tb4b4b4,
Tff7b72"subtitle"Tb4b4b4: Ta5d6ff"Rules run in order. Scope picks everyone, contacts only, or non-contacts only. Choose substring or regex matching. The first enabled rule whose scope fits and whose targets match wins."Tb4b4b4,
Tff7b72"back_tools"Tb4b4b4: Ta5d6ff"Back to tools"Tb4b4b4,
Tff7b72"rules_heading"Tb4b4b4: Ta5d6ff"Rules"Tb4b4b4,
Tff7b72"add_rule"Tb4b4b4: Ta5d6ff"Add rule"Tb4b4b4,
Tff7b72"order_hint"Tb4b4b4: Ta5d6ff"Drag order is top to bottom: the first matching rule applies."Tb4b4b4,
Tff7b72"empty_rules"Tb4b4b4: Ta5d6ff"No rules yet. Add a rule or save an empty list to clear filters."Tb4b4b4,
Tff7b72"enabled"Tb4b4b4: Ta5d6ff"Enabled"Tb4b4b4,
Tff7b72"move_up"Tb4b4b4: Ta5d6ff"Move up"Tb4b4b4,
Tff7b72"move_down"Tb4b4b4: Ta5d6ff"Move down"Tb4b4b4,
Tff7b72"remove_rule"Tb4b4b4: Ta5d6ff"Remove rule"Tb4b4b4,
Tff7b72"terms_label"Tb4b4b4: Ta5d6ff"Terms or patterns"Tb4b4b4,
Tff7b72"terms_placeholder"Tb4b4b4: Ta5d6ff"One per line or separated by commas. Matches are case-insensitive. You can also use regular expressions (one per line)."Tb4b4b4,
Tff7b72"match_targets_label"Tb4b4b4: Ta5d6ff"Match in"Tb4b4b4,
Tff7b72"match_peer_fields"Tb4b4b4: Ta5d6ff"Peer display name, custom name, contact fields"Tb4b4b4,
Tff7b72"match_message"Tb4b4b4: Ta5d6ff"Message title and body (when available)"Tb4b4b4,
Tff7b72"match_targets_hint"Tb4b4b4: Ta5d6ff"At least one target must stay enabled."Tb4b4b4,
Tff7b72"match_mode_label"Tb4b4b4: Ta5d6ff"Match style"Tb4b4b4,
Tff7b72"match_mode_substring"Tb4b4b4: Ta5d6ff"Substring"Tb4b4b4,
Tff7b72"match_mode_regex"Tb4b4b4: Ta5d6ff"Regular expression"Tb4b4b4,
Tff7b72"scope_label"Tb4b4b4: Ta5d6ff"Applies to"Tb4b4b4,
Tff7b72"scope_everyone"Tb4b4b4: Ta5d6ff"Everyone"Tb4b4b4,
Tff7b72"scope_contacts"Tb4b4b4: Ta5d6ff"Contacts only"Tb4b4b4,
Tff7b72"scope_non_contacts"Tb4b4b4: Ta5d6ff"Non-contacts only"Tb4b4b4,
Tff7b72"graph_scope_everyone"Tb4b4b4: Ta5d6ff"Everyone"Tb4b4b4,
Tff7b72"graph_scope_contacts"Tb4b4b4: Ta5d6ff"Contacts"Tb4b4b4,
Tff7b72"graph_scope_non_contacts"Tb4b4b4: Ta5d6ff"Non-contacts"Tb4b4b4,
Tff7b72"graph_match_peer"Tb4b4b4: Ta5d6ff"peer"Tb4b4b4,
Tff7b72"graph_match_message"Tb4b4b4: Ta5d6ff"msg"Tb4b4b4,
Tff7b72"graph_match_mode_substring"Tb4b4b4: Ta5d6ff"substring"Tb4b4b4,
Tff7b72"graph_match_mode_regex"Tb4b4b4: Ta5d6ff"regex"Tb4b4b4,
Tff7b72"action_label"Tb4b4b4: Ta5d6ff"Then"Tb4b4b4,
Tff7b72"action_hide"Tb4b4b4: Ta5d6ff"Hide conversation"Tb4b4b4,
Tff7b72"action_ignore"Tb4b4b4: Ta5d6ff"Ignore (no notifications)"Tb4b4b4,
Tff7b72"action_folder"Tb4b4b4: Ta5d6ff"Move to folder"Tb4b4b4,
Tff7b72"action_banish"Tb4b4b4: Ta5d6ff"Banish sender (full block)"Tb4b4b4,
Tff7b72"folder_label"Tb4b4b4: Ta5d6ff"Folder"Tb4b4b4,
Tff7b72"save"Tb4b4b4: Ta5d6ff"Save"Tb4b4b4,
Tff7b72"saving"Tb4b4b4: Ta5d6ff"Saving…"Tb4b4b4,
Tff7b72"revert"Tb4b4b4: Ta5d6ff"Reload"Tb4b4b4,
Tff7b72"saved"Tb4b4b4: Ta5d6ff"Sieve filters saved"Tb4b4b4,
Tff7b72"save_failed"Tb4b4b4: Ta5d6ff"Could not save sieve filters"Tb4b4b4,
Tff7b72"load_failed"Tb4b4b4: Ta5d6ff"Could not load sieve filters"Tb4b4b4,
Tff7b72"flow_heading"Tb4b4b4: Ta5d6ff"Rule flow"Tb4b4b4,
Tff7b72"flow_source"Tb4b4b4: Ta5d6ff"Peers"Tb4b4b4,
Tff7b72"flow_source_hint"Tb4b4b4: Ta5d6ff"Peer fields use announced display name, your custom name, and contact name or LXMF address."Tb4b4b4,
Tff7b72"flow_if"Tb4b4b4: Ta5d6ff"If"Tb4b4b4,
Tff7b72"flow_hide"Tb4b4b4: Ta5d6ff"Hide"Tb4b4b4,
Tff7b72"flow_banish"Tb4b4b4: Ta5d6ff"Banish"Tb4b4b4,
Tff7b72"flow_folder"Tb4b4b4: Ta5d6ff"Folder"Tb4b4b4,
Tff7b72"flow_no_rules"Tb4b4b4: Ta5d6ff"No rules"
Tb4b4b4},
Tff7b72"repository_server"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Repository server"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Redistribute MeshChatX and Reticulum-related Python wheels plus your own files over plain HTTP so people on your network—or on this device—can download them."Tb4b4b4,
Tff7b72"subtitle"Tb4b4b4: Ta5d6ff"Refresh the included software packages, add your own files, or start a download page for other devices."Tb4b4b4,
Tff7b72"back_tools"Tb4b4b4: Ta5d6ff"Back to tools"Tb4b4b4,
Tff7b72"http_heading"Tb4b4b4: Ta5d6ff"Plain HTTP mirror"Tb4b4b4,
Tff7b72"host_label"Tb4b4b4: Ta5d6ff"Listen address"Tb4b4b4,
Tff7b72"port_label"Tb4b4b4: Ta5d6ff"Port"Tb4b4b4,
Tff7b72"start_http"Tb4b4b4: Ta5d6ff"Start"Tb4b4b4,
Tff7b72"stop_http"Tb4b4b4: Ta5d6ff"Stop"Tb4b4b4,
Tff7b72"restart_http"Tb4b4b4: Ta5d6ff"Restart"Tb4b4b4,
Tff7b72"http_listen_label"Tb4b4b4: Ta5d6ff"Listening:"Tb4b4b4,
Tff7b72"open_http"Tb4b4b4: Ta5d6ff"Open in browser"Tb4b4b4,
Tff7b72"http_started"Tb4b4b4: Ta5d6ff"HTTP server started"Tb4b4b4,
Tff7b72"http_stopped"Tb4b4b4: Ta5d6ff"HTTP server stopped"Tb4b4b4,
Tff7b72"http_restarted"Tb4b4b4: Ta5d6ff"HTTP server restarted"Tb4b4b4,
Tff7b72"http_err_generic"Tb4b4b4: Ta5d6ff"HTTP server request failed"Tb4b4b4,
Tff7b72"http_err_invalid_host"Tb4b4b4: Ta5d6ff"Invalid listen address"Tb4b4b4,
Tff7b72"http_err_invalid_port"Tb4b4b4: Ta5d6ff"Invalid port"Tb4b4b4,
Tff7b72"http_err_already_running"Tb4b4b4: Ta5d6ff"HTTP server is already running"Tb4b4b4,
Tff7b72"http_err_bind_failed"Tb4b4b4: Ta5d6ff"Could not bind (port in use or permission denied)"Tb4b4b4,
Tff7b72"upload_heading"Tb4b4b4: Ta5d6ff"Upload file"Tb4b4b4,
Tff7b72"choose_file"Tb4b4b4: Ta5d6ff"Choose file"Tb4b4b4,
Tff7b72"refresh_bundled_tooltip"Tb4b4b4: Ta5d6ff"Download bundled wheels to this device (needs network)"Tb4b4b4,
Tff7b72"refresh_started"Tb4b4b4: Ta5d6ff"Downloading bundled packages…"Tb4b4b4,
Tff7b72"refresh_fetching"Tb4b4b4: Ta5d6ff"Getting {pkg}…"Tb4b4b4,
Tff7b72"refresh_ok"Tb4b4b4: Ta5d6ff"Bundled wheels refreshed"Tb4b4b4,
Tff7b72"refresh_ok_count"Tb4b4b4: Ta5d6ff"{n} packages downloaded"Tb4b4b4,
Tff7b72"refresh_failed"Tb4b4b4: Ta5d6ff"Could not refresh bundled wheels"Tb4b4b4,
Tff7b72"refresh_pip_missing"Tb4b4b4: Ta5d6ff"pip was not found on this system. Install pip and try again."Tb4b4b4,
Tff7b72"refresh_partial"Tb4b4b4: Ta5d6ff"Some packages could not be downloaded (details below)"Tb4b4b4,
Tff7b72"refresh_partial_toast"Tb4b4b4: Ta5d6ff"Bundled download finished with some failures"Tb4b4b4,
Tff7b72"files_heading"Tb4b4b4: Ta5d6ff"Files"Tb4b4b4,
Tff7b72"col_name"Tb4b4b4: Ta5d6ff"Name"Tb4b4b4,
Tff7b72"col_source"Tb4b4b4: Ta5d6ff"Source"Tb4b4b4,
Tff7b72"col_size"Tb4b4b4: Ta5d6ff"Size"Tb4b4b4,
Tff7b72"empty"Tb4b4b4: Ta5d6ff"No files yet. Upload a file or refresh bundled wheels."Tb4b4b4,
Tff7b72"delete"Tb4b4b4: Ta5d6ff"Delete"Tb4b4b4,
Tff7b72"delete_confirm"Tb4b4b4: Ta5d6ff"Delete uploaded file \"{name}\"?"Tb4b4b4,
Tff7b72"delete_ok"Tb4b4b4: Ta5d6ff"File removed"Tb4b4b4,
Tff7b72"delete_failed"Tb4b4b4: Ta5d6ff"Could not delete file"Tb4b4b4,
Tff7b72"upload_ok"Tb4b4b4: Ta5d6ff"File uploaded"Tb4b4b4,
Tff7b72"upload_failed"Tb4b4b4: Ta5d6ff"Upload failed"Tb4b4b4,
Tff7b72"load_failed"Tb4b4b4: Ta5d6ff"Could not load repository"
Tb4b4b4},
Tff7b72"rnode_flasher"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"RNode Flasher"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Flash or update RNode firmware from the browser when your hardware and browser support USB or Wi‑Fi flashing."Tb4b4b4,
Tff7b72"select_device"Tb4b4b4: Ta5d6ff"1. Select your device"Tb4b4b4,
Tff7b72"product"Tb4b4b4: Ta5d6ff"Product"Tb4b4b4,
Tff7b72"model"Tb4b4b4: Ta5d6ff"Model"Tb4b4b4,
Tff7b72"connection_method"Tb4b4b4: Ta5d6ff"Connection Method"Tb4b4b4,
Tff7b72"serial"Tb4b4b4: Ta5d6ff"Serial"Tb4b4b4,
Tff7b72"wifi"Tb4b4b4: Ta5d6ff"WiFi"Tb4b4b4,
Tff7b72"ip_address"Tb4b4b4: Ta5d6ff"IP Address"Tb4b4b4,
Tff7b72"ip_address_placeholder"Tb4b4b4: Ta5d6ff"e.g. 192.168.1.100"Tb4b4b4,
Tff7b72"select_product"Tb4b4b4: Ta5d6ff"Select a Product"Tb4b4b4,
Tff7b72"select_model"Tb4b4b4: Ta5d6ff"Select a Model"Tb4b4b4,
Tff7b72"enter_dfu_mode"Tb4b4b4: Ta5d6ff"Enter DFU Mode"Tb4b4b4,
Tff7b72"entering_dfu_mode"Tb4b4b4: Ta5d6ff"Entering DFU Mode..."Tb4b4b4,
Tff7b72"find_device_issue"Tb4b4b4: Ta5d6ff"Can't find your device? Open an issue on"Tb4b4b4,
Tff7b72"select_firmware"Tb4b4b4: Ta5d6ff"2. Select firmware to flash (.zip)"Tb4b4b4,
Tff7b72"flash_now"Tb4b4b4: Ta5d6ff"Flash Now"Tb4b4b4,
Tff7b72"flashing"Tb4b4b4: Ta5d6ff"Flashing: {percentage}%"Tb4b4b4,
Tff7b72"flashing_file_progress"Tb4b4b4: Ta5d6ff"File {current}/{total}: {percentage}%"Tb4b4b4,
Tff7b72"connecting_device"Tb4b4b4: Ta5d6ff"Connecting to device..."Tb4b4b4,
Tff7b72"download_firmware"Tb4b4b4: Ta5d6ff"Download Firmware"Tb4b4b4,
Tff7b72"official_firmware"Tb4b4b4: Ta5d6ff"Official Firmware"Tb4b4b4,
Tff7b72"ce_firmware"Tb4b4b4: Ta5d6ff"CE Firmware"Tb4b4b4,
Tff7b72"transport_node_firmware"Tb4b4b4: Ta5d6ff"Transport Node Firmware"Tb4b4b4,
Tff7b72"common_issues"Tb4b4b4: Ta5d6ff"Common Issues"Tb4b4b4,
Tff7b72"hardware_failure"Tb4b4b4: Ta5d6ff"Hardware Failure:"Tb4b4b4,
Tff7b72"provision_eeprom_hint"Tb4b4b4: Ta5d6ff"You need to provision the eeprom in step 3."Tb4b4b4,
Tff7b72"firmware_corrupt"Tb4b4b4: Ta5d6ff"Firmware Corrupt:"Tb4b4b4,
Tff7b72"set_firmware_hash_hint"Tb4b4b4: Ta5d6ff"You need to set the firmware hash in step 4."Tb4b4b4,
Tff7b72"step_provision"Tb4b4b4: Ta5d6ff"3. Provision EEPROM"Tb4b4b4,
Tff7b72"provision_description"Tb4b4b4: Ta5d6ff"Sets device info, checksum and blank signature"Tb4b4b4,
Tff7b72"provision"Tb4b4b4: Ta5d6ff"Provision"Tb4b4b4,
Tff7b72"provisioning_wait"Tb4b4b4: Ta5d6ff"Provisioning: please wait..."Tb4b4b4,
Tff7b72"step_set_hash"Tb4b4b4: Ta5d6ff"4. Set Firmware Hash"Tb4b4b4,
Tff7b72"set_hash_description"Tb4b4b4: Ta5d6ff"Uses hash from board"Tb4b4b4,
Tff7b72"set_firmware_hash"Tb4b4b4: Ta5d6ff"Set Firmware Hash"Tb4b4b4,
Tff7b72"setting_hash_wait"Tb4b4b4: Ta5d6ff"Setting Firmware Hash: please wait..."Tb4b4b4,
Tff7b72"step_done"Tb4b4b4: Ta5d6ff"5. Finalize"Tb4b4b4,
Tff7b72"download_recommended"Tb4b4b4: Ta5d6ff"Download & Load Recommended Firmware"Tb4b4b4,
Tff7b72"downloading"Tb4b4b4: Ta5d6ff"Downloading..."Tb4b4b4,
Tff7b72"done_description"Tb4b4b4: Ta5d6ff"If you made it this far, and all previous steps were successful, your RNode should be ready to use."Tb4b4b4,
Tff7b72"meshchat_usage"Tb4b4b4: Ta5d6ff"To use RNode with MeshChat, you will need to add an RNodeInterface in the Interfaces → Add Interface page."Tb4b4b4,
Tff7b72"sideband_usage"Tb4b4b4: Ta5d6ff"To use RNode with Sideband, you will need to configure it in Hardware → RNode and enable Connectivity → Connect via RNode."Tb4b4b4,
Tff7b72"restart_warning"Tb4b4b4: Ta5d6ff"You must restart MeshChat and Sideband for interface setting changes to take effect, otherwise nothing will happen!"Tb4b4b4,
Tff7b72"advanced_tools"Tb4b4b4: Ta5d6ff"Advanced Tools"Tb4b4b4,
Tff7b72"detect_rnode"Tb4b4b4: Ta5d6ff"Detect RNode"Tb4b4b4,
Tff7b72"reboot_rnode"Tb4b4b4: Ta5d6ff"Reboot RNode"Tb4b4b4,
Tff7b72"read_display"Tb4b4b4: Ta5d6ff"Read Display"Tb4b4b4,
Tff7b72"dump_eeprom"Tb4b4b4: Ta5d6ff"Dump EEPROM"Tb4b4b4,
Tff7b72"wipe_eeprom"Tb4b4b4: Ta5d6ff"Wipe EEPROM"Tb4b4b4,
Tff7b72"eeprom_console_hint"Tb4b4b4: Ta5d6ff"EEPROM dumps are shown in dev tools console."Tb4b4b4,
Tff7b72"configure_bluetooth"Tb4b4b4: Ta5d6ff"Configure Bluetooth (optional)"Tb4b4b4,
Tff7b72"bluetooth_info_1"Tb4b4b4: Ta5d6ff"Bluetooth is not supported on all devices."Tb4b4b4,
Tff7b72"bluetooth_info_2"Tb4b4b4: Ta5d6ff"Some devices use Bluetooth Classic, and some use BLE (Bluetooth Low Energy)"Tb4b4b4,
Tff7b72"bluetooth_info_3"Tb4b4b4: Ta5d6ff"Put the RNode into Bluetooth Pairing mode, then connect to it from Android Bluetooth settings."Tb4b4b4,
Tff7b72"bluetooth_info_4"Tb4b4b4: Ta5d6ff"Once you have initiated a pair request from Android, a PIN should show on the RNode display."Tb4b4b4,
Tff7b72"bluetooth_info_5"Tb4b4b4: Ta5d6ff"In Sideband you will need to enable Connect using Bluetooth in Hardware → RNode."Tb4b4b4,
Tff7b72"bluetooth_info_6"Tb4b4b4: Ta5d6ff"If your device uses BLE you will also need to enable Device requires BLE in Hardware → RNode."Tb4b4b4,
Tff7b72"bluetooth_restart_warning"Tb4b4b4: Ta5d6ff"Don't forget to restart Sideband for the setting changes to take effect!"Tb4b4b4,
Tff7b72"enable"Tb4b4b4: Ta5d6ff"Enable"Tb4b4b4,
Tff7b72"disable"Tb4b4b4: Ta5d6ff"Disable"Tb4b4b4,
Tff7b72"start_pairing"Tb4b4b4: Ta5d6ff"Start Pairing"Tb4b4b4,
Tff7b72"configure_tnc"Tb4b4b4: Ta5d6ff"Configure TNC Mode (optional)"Tb4b4b4,
Tff7b72"tnc_info_1"Tb4b4b4: Ta5d6ff"TNC mode allows an RNode to be used as a KISS compatible TNC over the Serial Port."Tb4b4b4,
Tff7b72"tnc_info_2"Tb4b4b4: Ta5d6ff"This mode makes it usable with amateur radio software that can talk to a KISS TNC over a serial port."Tb4b4b4,
Tff7b72"tnc_warning"Tb4b4b4: Ta5d6ff"You must leave TNC mode disabled when using RNode with apps like MeshChat or Sideband."Tb4b4b4,
Tff7b72"frequency"Tb4b4b4: Ta5d6ff"Frequency (Hz)"Tb4b4b4,
Tff7b72"bandwidth"Tb4b4b4: Ta5d6ff"Bandwidth"Tb4b4b4,
Tff7b72"tx_power"Tb4b4b4: Ta5d6ff"Tx Power (dBm)"Tb4b4b4,
Tff7b72"spreading_factor"Tb4b4b4: Ta5d6ff"Spreading Factor"Tb4b4b4,
Tff7b72"coding_rate"Tb4b4b4: Ta5d6ff"Coding Rate"Tb4b4b4,
Tff7b72"configure_display"Tb4b4b4: Ta5d6ff"Configure Display"Tb4b4b4,
Tff7b72"rotation"Tb4b4b4: Ta5d6ff"Rotation"Tb4b4b4,
Tff7b72"reconditioning"Tb4b4b4: Ta5d6ff"Reconditioning"Tb4b4b4,
Tff7b72"start"Tb4b4b4: Ta5d6ff"Start"Tb4b4b4,
Tff7b72"stop"Tb4b4b4: Ta5d6ff"Stop"Tb4b4b4,
Tff7b72"rotation_v180_warning"Tb4b4b4: Ta5d6ff"Setting display rotation requires firmware v1.80+"Tb4b4b4,
Tff7b72"errors"Tb4b4b4: Tb4b4b4{
Tff7b72"failed_download"Tb4b4b4: Ta5d6ff"Failed to download firmware: {error}"Tb4b4b4,
Tff7b72"firmware_not_found_in_release"Tb4b4b4: Ta5d6ff"Recommended firmware not found in the latest release."Tb4b4b4,
Tff7b72"web_serial_not_supported"Tb4b4b4: Ta5d6ff"Web Serial is not supported in this browser. Please use Chrome, Edge, or another Chromium-based browser."Tb4b4b4,
Tff7b72"no_device_selected"Tb4b4b4: Ta5d6ff"No device selected. Please select a serial port."Tb4b4b4,
Tff7b72"failed_connect"Tb4b4b4: Ta5d6ff"Failed to connect to device: {error}"Tb4b4b4,
Tff7b72"not_an_rnode"Tb4b4b4: Ta5d6ff"Selected device is not an RNode! Please make sure you've selected the correct serial port."Tb4b4b4,
Tff7b72"failed_dfu"Tb4b4b4: Ta5d6ff"Failed to enter DFU mode: {error}"Tb4b4b4,
Tff7b72"select_firmware_first"Tb4b4b4: Ta5d6ff"Please select a firmware file (.zip) first."Tb4b4b4,
Tff7b72"failed_flash"Tb4b4b4: Ta5d6ff"Firmware flashing failed: {error}"Tb4b4b4,
Tff7b72"failed_ota"Tb4b4b4: Ta5d6ff"OTA flashing failed: {error}"Tb4b4b4,
Tff7b72"esptool_not_loaded"Tb4b4b4: Ta5d6ff"esptool-js could not be loaded. Please refresh the page and try again."Tb4b4b4,
Tff7b72"no_flash_config"Tb4b4b4: Ta5d6ff"Flash configuration is not available for the selected device. Please select a different device or check the firmware file."Tb4b4b4,
Tff7b72"failed_extract"Tb4b4b4: Ta5d6ff"Required file \"{file}\" not found in firmware ZIP file. Please download the correct firmware for your device."Tb4b4b4,
Tff7b72"failed_detect"Tb4b4b4: Ta5d6ff"Failed to detect RNode. Make sure the device is connected and in the correct mode."Tb4b4b4,
Tff7b72"provisioned_already"Tb4b4b4: Ta5d6ff"Eeprom is already provisioned. You must wipe it to reprovision!"Tb4b4b4,
Tff7b72"select_product_first"Tb4b4b4: Ta5d6ff"Please select a product!"Tb4b4b4,
Tff7b72"select_model_first"Tb4b4b4: Ta5d6ff"Please select a model!"Tb4b4b4,
Tff7b72"not_provisioned"Tb4b4b4: Ta5d6ff"Eeprom is not provisioned. You must do this first!"Tb4b4b4,
Tff7b72"failed_provision"Tb4b4b4: Ta5d6ff"failed to provision: {error}"Tb4b4b4,
Tff7b72"failed_set_hash"Tb4b4b4: Ta5d6ff"failed to set firmware hash: {error}"Tb4b4b4,
Tff7b72"failed_reboot"Tb4b4b4: Ta5d6ff"Failed to reboot RNode: {error}"Tb4b4b4,
Tff7b72"failed_read_display"Tb4b4b4: Ta5d6ff"Failed to read display: {error}"Tb4b4b4,
Tff7b72"failed_dump_eeprom"Tb4b4b4: Ta5d6ff"Failed to dump EEPROM: {error}"Tb4b4b4,
Tff7b72"failed_wipe_eeprom"Tb4b4b4: Ta5d6ff"Failed to wipe EEPROM: {error}"Tb4b4b4,
Tff7b72"failed_enable_tnc"Tb4b4b4: Ta5d6ff"Failed to enable TNC mode: {error}"Tb4b4b4,
Tff7b72"failed_disable_tnc"Tb4b4b4: Ta5d6ff"Failed to disable TNC mode: {error}"Tb4b4b4,
Tff7b72"failed_enable_bluetooth"Tb4b4b4: Ta5d6ff"Failed to enable Bluetooth: {error}"Tb4b4b4,
Tff7b72"failed_disable_bluetooth"Tb4b4b4: Ta5d6ff"Failed to disable Bluetooth: {error}"Tb4b4b4,
Tff7b72"failed_start_pairing"Tb4b4b4: Ta5d6ff"Failed to start pairing: {error}"Tb4b4b4,
Tff7b72"failed_set_rotation"Tb4b4b4: Ta5d6ff"Failed to set display rotation: {error}"Tb4b4b4,
Tff7b72"failed_start_reconditioning"Tb4b4b4: Ta5d6ff"Failed to start display reconditioning: {error}"Tb4b4b4,
Tff7b72"no_main_bin"Tb4b4b4: Ta5d6ff"Could not locate the main firmware binary in the ZIP."Tb4b4b4,
Tff7b72"invalid_host"Tb4b4b4: Ta5d6ff"Please enter a valid host or IP address."Tb4b4b4,
Tff7b72"bluetooth_flash_unsupported"Tb4b4b4: Ta5d6ff"Bluetooth cannot be used to flash firmware. Use Serial or WiFi to flash, then return to Bluetooth for management."Tb4b4b4,
Tff7b72"failed_diagnostics"Tb4b4b4: Ta5d6ff"Failed to run diagnostics: {error}"Tb4b4b4,
Tff7b72"failed_detect_with_reason"Tb4b4b4: Ta5d6ff"Failed to detect RNode: {error}"
Tb4b4b4},
Tff7b72"alerts"Tb4b4b4: Tb4b4b4{
Tff7b72"firmware_downloaded"Tb4b4b4: Ta5d6ff"Recommended firmware has been downloaded and loaded."Tb4b4b4,
Tff7b72"dfu_ready"Tb4b4b4: Ta5d6ff"Device should now be in DFU mode. You can now proceed with flashing firmware."Tb4b4b4,
Tff7b72"flash_success"Tb4b4b4: Ta5d6ff"Firmware has been flashed successfully!"Tb4b4b4,
Tff7b72"rebooting"Tb4b4b4: Ta5d6ff"Board is rebooting!"Tb4b4b4,
Tff7b72"eeprom_wipe_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to wipe the eeprom on this device? This will take about 30 seconds. An alert will show when the eeprom wipe has finished."Tb4b4b4,
Tff7b72"eeprom_wiped"Tb4b4b4: Ta5d6ff"eeprom has been wiped!"Tb4b4b4,
Tff7b72"eeprom_dumped"Tb4b4b4: Ta5d6ff"EEPROM dumped to console"Tb4b4b4,
Tff7b72"rnode_detected"Tb4b4b4: Ta5d6ff"RNode v{version} detected"Tb4b4b4,
Tff7b72"provision_success"Tb4b4b4: Ta5d6ff"device has been provisioned!"Tb4b4b4,
Tff7b72"hash_success"Tb4b4b4: Ta5d6ff"firmware hash has been set!"Tb4b4b4,
Tff7b72"tnc_enabled"Tb4b4b4: Ta5d6ff"TNC mode has been enabled!"Tb4b4b4,
Tff7b72"tnc_disabled"Tb4b4b4: Ta5d6ff"TNC mode has been disabled!"Tb4b4b4,
Tff7b72"bluetooth_enabled"Tb4b4b4: Ta5d6ff"Bluetooth has been enabled!"Tb4b4b4,
Tff7b72"bluetooth_disabled"Tb4b4b4: Ta5d6ff"Bluetooth has been disabled!"Tb4b4b4,
Tff7b72"bluetooth_pairing_pin"Tb4b4b4: Ta5d6ff"Bluetooth Pairing Pin: {pin}"Tb4b4b4,
Tff7b72"bluetooth_pairing_started"Tb4b4b4: Ta5d6ff"Pairing mode started (30s)"Tb4b4b4,
Tff7b72"rotation_updated"Tb4b4b4: Ta5d6ff"Rotation updated"Tb4b4b4,
Tff7b72"reconditioning_started"Tb4b4b4: Ta5d6ff"Reconditioning started"Tb4b4b4,
Tff7b72"diagnostics_healthy"Tb4b4b4: Ta5d6ff"Diagnostics: device looks healthy."Tb4b4b4,
Tff7b72"diagnostics_issues"Tb4b4b4: Ta5d6ff"Diagnostics: {count} issue(s) detected."
Tb4b4b4},
Tff7b72"simple"Tb4b4b4: Ta5d6ff"Simple"Tb4b4b4,
Tff7b72"advanced"Tb4b4b4: Ta5d6ff"Advanced"Tb4b4b4,
Tff7b72"original"Tb4b4b4: Ta5d6ff"Original"Tb4b4b4,
Tff7b72"open_original_tab"Tb4b4b4: Ta5d6ff"Open the original flasher in a new tab"Tb4b4b4,
Tff7b72"bluetooth"Tb4b4b4: Ta5d6ff"Bluetooth"Tb4b4b4,
Tff7b72"preparing_firmware"Tb4b4b4: Ta5d6ff"Preparing firmware..."Tb4b4b4,
Tff7b72"uploading"Tb4b4b4: Ta5d6ff"Uploading: {percentage}%"Tb4b4b4,
Tff7b72"select_firmware_file"Tb4b4b4: Ta5d6ff"Or select a firmware file (.zip)"Tb4b4b4,
Tff7b72"wifi_help"Tb4b4b4: Ta5d6ff"The IP address of your RNode on the local network."Tb4b4b4,
Tff7b72"run_diagnostics"Tb4b4b4: Ta5d6ff"Diagnostics"Tb4b4b4,
Tff7b72"support"Tb4b4b4: Tb4b4b4{
Tff7b72"serial"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"USB serial is unavailable"Tb4b4b4,
Tff7b72"polyfill_not_loaded"Tb4b4b4: Ta5d6ff"USB serial polyfill has not been loaded yet."Tb4b4b4,
Tff7b72"android_webview_no_serial"Tb4b4b4: Ta5d6ff"Android does not support Web Serial in this view. Use a desktop browser or the built-in flasher."Tb4b4b4,
Tff7b72"browser_unsupported"Tb4b4b4: Ta5d6ff"This browser does not support Web Serial. Try Chrome, Edge, or another Chromium-based browser."Tb4b4b4,
Tff7b72"android_use_chrome"Tb4b4b4: Ta5d6ff"On Android, opening this page in Chrome lets you use Web Serial via WebUSB."Tb4b4b4,
Tff7b72"unknown"Tb4b4b4: Ta5d6ff"USB serial cannot be initialised in this environment."
Tb4b4b4},
Tff7b72"bluetooth"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Bluetooth is unavailable"Tb4b4b4,
Tff7b72"android_bridge_not_implemented"Tb4b4b4: Ta5d6ff"Web Bluetooth is not available here. Use the OS Bluetooth settings or a different browser."Tb4b4b4,
Tff7b72"browser_unsupported"Tb4b4b4: Ta5d6ff"This browser does not support Web Bluetooth. Try Chrome or Edge."Tb4b4b4,
Tff7b72"insecure_context"Tb4b4b4: Ta5d6ff"Web Bluetooth requires a secure context (HTTPS or localhost)."Tb4b4b4,
Tff7b72"requires_https"Tb4b4b4: Ta5d6ff"Open the flasher over HTTPS or via localhost to enable Bluetooth."Tb4b4b4,
Tff7b72"unknown"Tb4b4b4: Ta5d6ff"Bluetooth cannot be initialised in this environment."
Tb4b4b4},
Tff7b72"actions"Tb4b4b4: Tb4b4b4{
Tff7b72"load_polyfill"Tb4b4b4: Ta5d6ff"Load polyfill"Tb4b4b4,
Tff7b72"request_bluetooth"Tb4b4b4: Ta5d6ff"Allow Bluetooth"Tb4b4b4,
Tff7b72"open_settings"Tb4b4b4: Ta5d6ff"Open settings"Tb4b4b4,
Tff7b72"polyfill_loading"Tb4b4b4: Ta5d6ff"Loading USB serial polyfill..."Tb4b4b4,
Tff7b72"bluetooth_requested"Tb4b4b4: Ta5d6ff"Bluetooth permission requested."
Tb4b4b4}
Tb4b4b4},
Tff7b72"diagnostics"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Device Diagnostics"Tb4b4b4,
Tff7b72"healthy"Tb4b4b4: Ta5d6ff"Healthy"Tb4b4b4,
Tff7b72"needs_attention"Tb4b4b4: Ta5d6ff"Needs attention"Tb4b4b4,
Tff7b72"issues_detected"Tb4b4b4: Ta5d6ff"Issues detected"Tb4b4b4,
Tff7b72"firmware_version"Tb4b4b4: Ta5d6ff"Firmware"Tb4b4b4,
Tff7b72"platform"Tb4b4b4: Ta5d6ff"Platform"Tb4b4b4,
Tff7b72"board"Tb4b4b4: Ta5d6ff"Board"Tb4b4b4,
Tff7b72"provisioned"Tb4b4b4: Ta5d6ff"Provisioned"Tb4b4b4,
Tff7b72"product"Tb4b4b4: Ta5d6ff"Product"Tb4b4b4,
Tff7b72"model"Tb4b4b4: Ta5d6ff"Model"Tb4b4b4,
Tff7b72"firmware_hash"Tb4b4b4: Ta5d6ff"FW hash"Tb4b4b4,
Tff7b72"target_hash"Tb4b4b4: Ta5d6ff"Target hash"Tb4b4b4,
Tff7b72"suggestions"Tb4b4b4: Tb4b4b4{
Tff7b72"not_provisioned"Tb4b4b4: Ta5d6ff"EEPROM is not provisioned. Run step 3 (Provision EEPROM)."Tb4b4b4,
Tff7b72"firmware_hash_missing"Tb4b4b4: Ta5d6ff"Firmware hash is missing. Run step 4 (Set Firmware Hash)."Tb4b4b4,
Tff7b72"firmware_hash_mismatch"Tb4b4b4: Ta5d6ff"Firmware hash mismatch. Re-flash the firmware and re-run step 4."Tb4b4b4,
Tff7b72"product_mismatch"Tb4b4b4: Ta5d6ff"Selected product does not match the connected device."Tb4b4b4,
Tff7b72"no_firmware_version"Tb4b4b4: Ta5d6ff"Could not read firmware version. Try reconnecting the device."Tb4b4b4,
Tff7b72"detect_failed"Tb4b4b4: Ta5d6ff"Could not detect this RNode. Verify cable, port, and power."Tb4b4b4,
Tff7b72"read_timeout"Tb4b4b4: Ta5d6ff"Device did not respond in time. Try reconnecting or rebooting it."
Tb4b4b4}
Tb4b4b4}
Tb4b4b4},
Tff7b72"micron_editor"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Micron Editor"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Write Nomad Network Micron pages with a live preview."Tb4b4b4,
Tff7b72"editor"Tb4b4b4: Ta5d6ff"Editor"Tb4b4b4,
Tff7b72"preview"Tb4b4b4: Ta5d6ff"Preview"Tb4b4b4,
Tff7b72"save"Tb4b4b4: Ta5d6ff"Save"Tb4b4b4,
Tff7b72"edit"Tb4b4b4: Ta5d6ff"Edit"Tb4b4b4,
Tff7b72"view_preview"Tb4b4b4: Ta5d6ff"View Preview"Tb4b4b4,
Tff7b72"placeholder"Tb4b4b4: Ta5d6ff"Enter your Micron markup here..."Tb4b4b4,
Tff7b72"reset"Tb4b4b4: Ta5d6ff"Reset"Tb4b4b4,
Tff7b72"new_tab"Tb4b4b4: Ta5d6ff"New Tab"Tb4b4b4,
Tff7b72"rename_tab"Tb4b4b4: Ta5d6ff"Rename Tab"Tb4b4b4,
Tff7b72"confirm_reset"Tb4b4b4: Ta5d6ff"Are you sure you want to reset the editor? All your tabs and content will be lost."Tb4b4b4,
Tff7b72"confirm_delete_tab"Tb4b4b4: Ta5d6ff"Are you sure you want to delete this tab?"Tb4b4b4,
Tff7b72"main_tab"Tb4b4b4: Ta5d6ff"Main"Tb4b4b4,
Tff7b72"guide_tab"Tb4b4b4: Ta5d6ff"NomadNet Guide"Tb4b4b4,
Tff7b72"parser_by"Tb4b4b4: Ta5d6ff"Using Micron Parser by"
Tb4b4b4},
Tff7b72"reticulum_config_editor"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Reticulum Config Editor"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Edit the main Reticulum (RNS) configuration file inside MeshChatX. Restart RNS to apply changes."Tb4b4b4,
Tff7b72"info"Tb4b4b4: Ta5d6ff"This is the raw Reticulum config file. Saving will not apply changes until RNS is restarted."Tb4b4b4,
Tff7b72"loading"Tb4b4b4: Ta5d6ff"Loading config..."Tb4b4b4,
Tff7b72"reload"Tb4b4b4: Ta5d6ff"Reload"Tb4b4b4,
Tff7b72"save"Tb4b4b4: Ta5d6ff"Save"Tb4b4b4,
Tff7b72"saving"Tb4b4b4: Ta5d6ff"Saving..."Tb4b4b4,
Tff7b72"saved"Tb4b4b4: Ta5d6ff"Reticulum config saved"Tb4b4b4,
Tff7b72"discard"Tb4b4b4: Ta5d6ff"Discard"Tb4b4b4,
Tff7b72"unsaved"Tb4b4b4: Ta5d6ff"Unsaved changes"Tb4b4b4,
Tff7b72"restore_defaults"Tb4b4b4: Ta5d6ff"Restore defaults"Tb4b4b4,
Tff7b72"restoring"Tb4b4b4: Ta5d6ff"Restoring defaults..."Tb4b4b4,
Tff7b72"restored"Tb4b4b4: Ta5d6ff"Reticulum config restored to defaults"Tb4b4b4,
Tff7b72"confirm_restore"Tb4b4b4: Ta5d6ff"Restore the Reticulum config to defaults? Your current config will be overwritten."Tb4b4b4,
Tff7b72"confirm_leave"Tb4b4b4: Ta5d6ff"You have unsaved changes. Leave anyway?"Tb4b4b4,
Tff7b72"restart_required"Tb4b4b4: Ta5d6ff"Restart required"Tb4b4b4,
Tff7b72"restart_description"Tb4b4b4: Ta5d6ff"Reticulum must be restarted for your config changes to take effect."Tb4b4b4,
Tff7b72"restart_now"Tb4b4b4: Ta5d6ff"Restart RNS now"Tb4b4b4,
Tff7b72"restart_done"Tb4b4b4: Ta5d6ff"Reticulum restarted"Tb4b4b4,
Tff7b72"failed_load"Tb4b4b4: Ta5d6ff"Failed to load Reticulum config"Tb4b4b4,
Tff7b72"failed_save"Tb4b4b4: Ta5d6ff"Failed to save Reticulum config"Tb4b4b4,
Tff7b72"failed_restore"Tb4b4b4: Ta5d6ff"Failed to restore Reticulum config"Tb4b4b4,
Tff7b72"failed_restart"Tb4b4b4: Ta5d6ff"Failed to restart Reticulum"Tb4b4b4,
Tff7b72"tips_title"Tb4b4b4: Ta5d6ff"Tips"Tb4b4b4,
Tff7b72"tip_sections"Tb4b4b4: Ta5d6ff"The config must contain [reticulum] and [interfaces] sections."Tb4b4b4,
Tff7b72"tip_restart"Tb4b4b4: Ta5d6ff"Use the Restart RNS button or the Interfaces page to apply changes."Tb4b4b4,
Tff7b72"tip_mobile"Tb4b4b4: Ta5d6ff"Useful whenever you prefer not to edit the file in another program on disk."
Tb4b4b4},
Tff7b72"paper_message"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Paper Message"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Encode LXMF messages as QR codes or scan codes back into the app."
Tb4b4b4},
Tff7b72"mesh_server"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Mesh Server"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Publish Micron pages and small files for mesh peers to open."
Tb4b4b4},
Tff7b72"rns_tunnel"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"RNS Tunnel"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Carry IP traffic over Reticulum links (in development)."
Tb4b4b4},
Tff7b72"rns_filesync"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"RNS Filesync"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Sync files between mesh peers (in development)."
Tb4b4b4},
Tff7b72"bots"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"LXMFy Bots"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Run simple LXMF bots (echo, notes, reminders) when the LXMFy add-on is installed."
Tb4b4b4}
Tb4b4b4},
Tff7b72"ping"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Ping Mesh Peers"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Only destinations that expose the ping app type will answer."Tb4b4b4,
Tff7b72"destination_hash"Tb4b4b4: Ta5d6ff"Destination Hash"Tb4b4b4,
Tff7b72"timeout_seconds"Tb4b4b4: Ta5d6ff"Ping Timeout (seconds)"Tb4b4b4,
Tff7b72"start_ping"Tb4b4b4: Ta5d6ff"Start Ping"Tb4b4b4,
Tff7b72"stop"Tb4b4b4: Ta5d6ff"Stop"Tb4b4b4,
Tff7b72"clear_results"Tb4b4b4: Ta5d6ff"Clear Results"Tb4b4b4,
Tff7b72"drop_path"Tb4b4b4: Ta5d6ff"Drop Path"Tb4b4b4,
Tff7b72"status"Tb4b4b4: Ta5d6ff"Status"Tb4b4b4,
Tff7b72"running"Tb4b4b4: Ta5d6ff"Running"Tb4b4b4,
Tff7b72"idle"Tb4b4b4: Ta5d6ff"Idle"Tb4b4b4,
Tff7b72"last_rtt"Tb4b4b4: Ta5d6ff"Last RTT"Tb4b4b4,
Tff7b72"last_error"Tb4b4b4: Ta5d6ff"Last Error"Tb4b4b4,
Tff7b72"console_output"Tb4b4b4: Ta5d6ff"Console Output"Tb4b4b4,
Tff7b72"streaming_responses"Tb4b4b4: Ta5d6ff"Streaming seq responses in real time"Tb4b4b4,
Tff7b72"no_pings_yet"Tb4b4b4: Ta5d6ff"No pings yet. Start a run to collect RTT data."Tb4b4b4,
Tff7b72"invalid_hash"Tb4b4b4: Ta5d6ff"Invalid destination hash!"Tb4b4b4,
Tff7b72"timeout_must_be_number"Tb4b4b4: Ta5d6ff"Timeout must be a number!"
Tb4b4b4},
Tff7b72"rncp"Tb4b4b4: Tb4b4b4{
Tff7b72"file_transfer"Tb4b4b4: Ta5d6ff"File Transfer"Tb4b4b4,
Tff7b72"title"Tb4b4b4: Ta5d6ff"RNCP - Reticulum Network Copy"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Send, listen, or fetch files over Reticulum using RNCP (chunked transfers, optional compression)."Tb4b4b4,
Tff7b72"usage_steps"Tb4b4b4: Ta5d6ff"How to use RNCP:"Tb4b4b4,
Tff7b72"step_1"Tb4b4b4: Ta5d6ff"1. To **receive** a file, go to the **Listen** tab, enter allowed identity hashes (who can send to you), and click **Start Listening**."Tb4b4b4,
Tff7b72"step_2"Tb4b4b4: Ta5d6ff"2. To **send** a file, get the **Destination Hash** of a listening node, enter the **Local File Path**, and click **Send File**."Tb4b4b4,
Tff7b72"step_3"Tb4b4b4: Ta5d6ff"3. To **fetch** a file, get the **Destination Hash** of a node listening with 'Allow Fetch' enabled, enter the **Remote File Path**, and click **Fetch File**."Tb4b4b4,
Tff7b72"send_file"Tb4b4b4: Ta5d6ff"Send File"Tb4b4b4,
Tff7b72"fetch_file"Tb4b4b4: Ta5d6ff"Fetch File"Tb4b4b4,
Tff7b72"listen"Tb4b4b4: Ta5d6ff"Listen"Tb4b4b4,
Tff7b72"destination_hash"Tb4b4b4: Ta5d6ff"Destination Hash"Tb4b4b4,
Tff7b72"file_path"Tb4b4b4: Ta5d6ff"File Path"Tb4b4b4,
Tff7b72"timeout_seconds"Tb4b4b4: Ta5d6ff"Timeout (seconds)"Tb4b4b4,
Tff7b72"disable_compression"Tb4b4b4: Ta5d6ff"Disable compression"Tb4b4b4,
Tff7b72"cancel"Tb4b4b4: Ta5d6ff"Cancel"Tb4b4b4,
Tff7b72"progress"Tb4b4b4: Ta5d6ff"Progress"Tb4b4b4,
Tff7b72"invalid_hash"Tb4b4b4: Ta5d6ff"Invalid destination hash!"Tb4b4b4,
Tff7b72"provide_file_path"Tb4b4b4: Ta5d6ff"Please provide a file path!"Tb4b4b4,
Tff7b72"file_sent_successfully"Tb4b4b4: Ta5d6ff"File sent successfully. Transfer ID: {id}"Tb4b4b4,
Tff7b72"failed_to_send"Tb4b4b4: Ta5d6ff"Failed to send file"Tb4b4b4,
Tff7b72"remote_file_path"Tb4b4b4: Ta5d6ff"Remote File Path"Tb4b4b4,
Tff7b72"save_path_optional"Tb4b4b4: Ta5d6ff"Save Path (optional)"Tb4b4b4,
Tff7b72"save_path_placeholder"Tb4b4b4: Ta5d6ff"Leave empty for current directory"Tb4b4b4,
Tff7b72"allow_overwrite"Tb4b4b4: Ta5d6ff"Allow overwrite"Tb4b4b4,
Tff7b72"provide_remote_file_path"Tb4b4b4: Ta5d6ff"Please provide a remote file path!"Tb4b4b4,
Tff7b72"file_fetched_successfully"Tb4b4b4: Ta5d6ff"File fetched successfully. Saved to: {path}"Tb4b4b4,
Tff7b72"failed_to_fetch"Tb4b4b4: Ta5d6ff"Failed to fetch file"Tb4b4b4,
Tff7b72"allowed_hashes"Tb4b4b4: Ta5d6ff"Allowed Identity Hashes (one per line)"Tb4b4b4,
Tff7b72"fetch_jail_path"Tb4b4b4: Ta5d6ff"Fetch Jail Path (optional)"Tb4b4b4,
Tff7b72"allow_fetch"Tb4b4b4: Ta5d6ff"Allow fetch"Tb4b4b4,
Tff7b72"start_listening"Tb4b4b4: Ta5d6ff"Start Listening"Tb4b4b4,
Tff7b72"stop_listening"Tb4b4b4: Ta5d6ff"Stop Listening"Tb4b4b4,
Tff7b72"listening_on"Tb4b4b4: Ta5d6ff"Listening on:"Tb4b4b4,
Tff7b72"provide_allowed_hash"Tb4b4b4: Ta5d6ff"Please provide at least one allowed identity hash!"Tb4b4b4,
Tff7b72"failed_to_start_listener"Tb4b4b4: Ta5d6ff"Failed to start listener"Tb4b4b4,
Tff7b72"failed_to_stop_listener"Tb4b4b4: Ta5d6ff"Failed to stop listener"Tb4b4b4,
Tff7b72"browse_file"Tb4b4b4: Ta5d6ff"Browse"Tb4b4b4,
Tff7b72"browse_folder"Tb4b4b4: Ta5d6ff"Choose folder"Tb4b4b4,
Tff7b72"receive_folder"Tb4b4b4: Ta5d6ff"Received files folder"Tb4b4b4,
Tff7b72"open_folder"Tb4b4b4: Ta5d6ff"Open folder"Tb4b4b4,
Tff7b72"show_in_folder"Tb4b4b4: Ta5d6ff"Show in folder"Tb4b4b4,
Tff7b72"received_file"Tb4b4b4: Ta5d6ff"File received"Tb4b4b4,
Tff7b72"receive_failed"Tb4b4b4: Ta5d6ff"Receive failed"Tb4b4b4,
Tff7b72"send_complete"Tb4b4b4: Ta5d6ff"Send complete"Tb4b4b4,
Tff7b72"fetch_complete"Tb4b4b4: Ta5d6ff"Fetch complete"Tb4b4b4,
Tff7b72"transfer_status"Tb4b4b4: Ta5d6ff"Status"Tb4b4b4,
Tff7b72"listening_active_background"Tb4b4b4: Ta5d6ff"Listening continues in the background. Return here to manage or stop."Tb4b4b4,
Tff7b72"web_path_hint"Tb4b4b4: Ta5d6ff"Browsers cannot expose full file paths. Use the desktop app to browse, or paste the full path to the file on this machine."Tb4b4b4,
Tff7b72"web_save_path_prompt"Tb4b4b4: Ta5d6ff"Enter the absolute folder path on the machine running MeshChat (server) where the fetched file should be saved:"
Tb4b4b4},
Tff7b72"rngit_explorer"Tb4b4b4: Tb4b4b4{
Tff7b72"back_tools"Tb4b4b4: Ta5d6ff"Back to tools"Tb4b4b4,
Tff7b72"heard_heading"Tb4b4b4: Ta5d6ff"Heard rngit nodes"Tb4b4b4,
Tff7b72"heard_hint"Tb4b4b4: Ta5d6ff"From Reticulum announces for ``git.repositories``. Click a row to fill the destination hash below."Tb4b4b4,
Tff7b72"heard_empty"Tb4b4b4: Ta5d6ff"No rngit announces in memory yet. When a peer runs rngit, it should appear here."Tb4b4b4,
Tff7b72"heard_load_failed"Tb4b4b4: Ta5d6ff"Could not load announces"Tb4b4b4,
Tff7b72"refresh_heard"Tb4b4b4: Ta5d6ff"Refresh"Tb4b4b4,
Tff7b72"heard_title_short"Tb4b4b4: Ta5d6ff"RNGit · {prefix}"Tb4b4b4,
Tff7b72"unnamed_node"Tb4b4b4: Ta5d6ff"RNGit node"Tb4b4b4,
Tff7b72"hops_label"Tb4b4b4: Ta5d6ff"Hops: {n}"Tb4b4b4,
Tff7b72"intro"Tb4b4b4: Ta5d6ff"Paste repository names (one per line) to find them on the network. Reachable repos will show a clone command you can copy. This app does not store any git data."Tb4b4b4,
Tff7b72"destination_hash"Tb4b4b4: Ta5d6ff"RNGit destination hash (32 hex)"Tb4b4b4,
Tff7b72"group_name"Tb4b4b4: Ta5d6ff"Group (rngit config)"Tb4b4b4,
Tff7b72"repo_names_label"Tb4b4b4: Ta5d6ff"Repository names to try"Tb4b4b4,
Tff7b72"repo_names_placeholder"Tb4b4b4: Ta5d6ff"MeshChatX\nmy-other-repo"Tb4b4b4,
Tff7b72"for_push"Tb4b4b4: Ta5d6ff"List for push (permission check)"Tb4b4b4,
Tff7b72"probe"Tb4b4b4: Ta5d6ff"Probe repositories"Tb4b4b4,
Tff7b72"probing"Tb4b4b4: Ta5d6ff"Probing rngit…"Tb4b4b4,
Tff7b72"probe_done"Tb4b4b4: Ta5d6ff"Probe finished"Tb4b4b4,
Tff7b72"probe_failed"Tb4b4b4: Ta5d6ff"Probe failed"Tb4b4b4,
Tff7b72"results"Tb4b4b4: Ta5d6ff"Results"Tb4b4b4,
Tff7b72"reachable"Tb4b4b4: Ta5d6ff"OK"Tb4b4b4,
Tff7b72"unreachable"Tb4b4b4: Ta5d6ff"—"Tb4b4b4,
Tff7b72"detail_title"Tb4b4b4: Ta5d6ff"Repository: {repo}"Tb4b4b4,
Tff7b72"clone_command"Tb4b4b4: Ta5d6ff"Clone with git"Tb4b4b4,
Tff7b72"copy"Tb4b4b4: Ta5d6ff"Copy"Tb4b4b4,
Tff7b72"copied"Tb4b4b4: Ta5d6ff"Copied to clipboard"Tb4b4b4,
Tff7b72"copy_failed"Tb4b4b4: Ta5d6ff"Could not copy"Tb4b4b4,
Tff7b72"refs_preview"Tb4b4b4: Ta5d6ff"Refs (preview)"Tb4b4b4,
Tff7b72"truncated"Tb4b4b4: Ta5d6ff"(truncated)"Tb4b4b4,
Tff7b72"no_clone_hint"Tb4b4b4: Ta5d6ff"No clone command available for unreachable names. Check the spelling or your connection."Tb4b4b4,
Tff7b72"experimental_footer"Tb4b4b4: Ta5d6ff"Experimental: RNGit tooling may change without notice."
Tb4b4b4},
Tff7b72"rnprobe"Tb4b4b4: Tb4b4b4{
Tff7b72"network_diagnostics"Tb4b4b4: Ta5d6ff"Network Diagnostics"Tb4b4b4,
Tff7b72"title"Tb4b4b4: Ta5d6ff"RNProbe - Destination Probe"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Send probes with configurable size to measure RTT and delivery."Tb4b4b4,
Tff7b72"destination_hash"Tb4b4b4: Ta5d6ff"Destination Hash"Tb4b4b4,
Tff7b72"full_destination_name"Tb4b4b4: Ta5d6ff"Full Destination Name"Tb4b4b4,
Tff7b72"probe_size_bytes"Tb4b4b4: Ta5d6ff"Probe Size (bytes)"Tb4b4b4,
Tff7b72"number_of_probes"Tb4b4b4: Ta5d6ff"Number of Probes"Tb4b4b4,
Tff7b72"wait_between_probes"Tb4b4b4: Ta5d6ff"Wait Between Probes (seconds)"Tb4b4b4,
Tff7b72"start_probe"Tb4b4b4: Ta5d6ff"Start Probe"Tb4b4b4,
Tff7b72"stop"Tb4b4b4: Ta5d6ff"Stop"Tb4b4b4,
Tff7b72"clear_results"Tb4b4b4: Ta5d6ff"Clear Results"Tb4b4b4,
Tff7b72"summary"Tb4b4b4: Ta5d6ff"Summary"Tb4b4b4,
Tff7b72"sent"Tb4b4b4: Ta5d6ff"Sent"Tb4b4b4,
Tff7b72"delivered"Tb4b4b4: Ta5d6ff"Delivered"Tb4b4b4,
Tff7b72"timeouts"Tb4b4b4: Ta5d6ff"Timeouts"Tb4b4b4,
Tff7b72"failed"Tb4b4b4: Ta5d6ff"Failed"Tb4b4b4,
Tff7b72"probe_results"Tb4b4b4: Ta5d6ff"Probe Results"Tb4b4b4,
Tff7b72"probe_responses_realtime"Tb4b4b4: Ta5d6ff"Probe responses in real time"Tb4b4b4,
Tff7b72"no_probes_yet"Tb4b4b4: Ta5d6ff"No probes yet. Start a probe to test connectivity."Tb4b4b4,
Tff7b72"probe_number"Tb4b4b4: Ta5d6ff"Probe #{number}"Tb4b4b4,
Tff7b72"bytes"Tb4b4b4: Ta5d6ff"bytes"Tb4b4b4,
Tff7b72"hops"Tb4b4b4: Ta5d6ff"Hops"Tb4b4b4,
Tff7b72"rtt"Tb4b4b4: Ta5d6ff"RTT"Tb4b4b4,
Tff7b72"rssi"Tb4b4b4: Ta5d6ff"RSSI"Tb4b4b4,
Tff7b72"snr"Tb4b4b4: Ta5d6ff"SNR"Tb4b4b4,
Tff7b72"quality"Tb4b4b4: Ta5d6ff"Quality"Tb4b4b4,
Tff7b72"timeout"Tb4b4b4: Ta5d6ff"Timeout"Tb4b4b4,
Tff7b72"invalid_hash"Tb4b4b4: Ta5d6ff"Invalid destination hash!"Tb4b4b4,
Tff7b72"provide_full_name"Tb4b4b4: Ta5d6ff"Please provide a full destination name!"Tb4b4b4,
Tff7b72"failed_to_probe"Tb4b4b4: Ta5d6ff"Failed to probe destination"
Tb4b4b4},
Tff7b72"rnstatus"Tb4b4b4: Tb4b4b4{
Tff7b72"network_diagnostics"Tb4b4b4: Ta5d6ff"Network Diagnostics"Tb4b4b4,
Tff7b72"title"Tb4b4b4: Ta5d6ff"RNStatus - Network Status"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Per-interface statistics and link status from your RNS instance."Tb4b4b4,
Tff7b72"refresh"Tb4b4b4: Ta5d6ff"Refresh"Tb4b4b4,
Tff7b72"include_link_stats"Tb4b4b4: Ta5d6ff"Include Link Stats"Tb4b4b4,
Tff7b72"sort_by"Tb4b4b4: Ta5d6ff"Sort by:"Tb4b4b4,
Tff7b72"none"Tb4b4b4: Ta5d6ff"None"Tb4b4b4,
Tff7b72"bitrate"Tb4b4b4: Ta5d6ff"Bitrate"Tb4b4b4,
Tff7b72"rx_bytes"Tb4b4b4: Ta5d6ff"RX Bytes"Tb4b4b4,
Tff7b72"tx_bytes"Tb4b4b4: Ta5d6ff"TX Bytes"Tb4b4b4,
Tff7b72"total_traffic"Tb4b4b4: Ta5d6ff"Total Traffic"Tb4b4b4,
Tff7b72"announces"Tb4b4b4: Ta5d6ff"Announces"Tb4b4b4,
Tff7b72"active_links"Tb4b4b4: Ta5d6ff"Active Links: {count}"Tb4b4b4,
Tff7b72"no_interfaces_found"Tb4b4b4: Ta5d6ff"No interfaces found. Click refresh to load status."Tb4b4b4,
Tff7b72"mode"Tb4b4b4: Ta5d6ff"Mode"Tb4b4b4,
Tff7b72"rx_packets"Tb4b4b4: Ta5d6ff"RX Packets"Tb4b4b4,
Tff7b72"tx_packets"Tb4b4b4: Ta5d6ff"TX Packets"Tb4b4b4,
Tff7b72"clients"Tb4b4b4: Ta5d6ff"Clients"Tb4b4b4,
Tff7b72"peers_reachable"Tb4b4b4: Ta5d6ff"reachable"Tb4b4b4,
Tff7b72"noise_floor"Tb4b4b4: Ta5d6ff"Noise Floor"Tb4b4b4,
Tff7b72"interference"Tb4b4b4: Ta5d6ff"Interference"Tb4b4b4,
Tff7b72"cpu_load"Tb4b4b4: Ta5d6ff"CPU Load"Tb4b4b4,
Tff7b72"cpu_temp"Tb4b4b4: Ta5d6ff"CPU Temp"Tb4b4b4,
Tff7b72"memory_load"Tb4b4b4: Ta5d6ff"Memory Load"Tb4b4b4,
Tff7b72"battery"Tb4b4b4: Ta5d6ff"Battery"Tb4b4b4,
Tff7b72"network"Tb4b4b4: Ta5d6ff"Network"Tb4b4b4,
Tff7b72"incoming_announces"Tb4b4b4: Ta5d6ff"Incoming Announces"Tb4b4b4,
Tff7b72"outgoing_announces"Tb4b4b4: Ta5d6ff"Outgoing Announces"Tb4b4b4,
Tff7b72"airtime"Tb4b4b4: Ta5d6ff"Airtime"Tb4b4b4,
Tff7b72"channel_load"Tb4b4b4: Ta5d6ff"Channel Load"
Tb4b4b4},
Tff7b72"translator"Tb4b4b4: Tb4b4b4{
Tff7b72"text_translation"Tb4b4b4: Ta5d6ff"Text Translation"Tb4b4b4,
Tff7b72"title"Tb4b4b4: Ta5d6ff"Translator"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Translate text via a LibreTranslate server or local Argos Translate."Tb4b4b4,
Tff7b72"argos_translate"Tb4b4b4: Ta5d6ff"Argos Translate"Tb4b4b4,
Tff7b72"libretranslate"Tb4b4b4: Ta5d6ff"LibreTranslate"Tb4b4b4,
Tff7b72"api_server"Tb4b4b4: Ta5d6ff"LibreTranslate API Server"Tb4b4b4,
Tff7b72"api_server_description"Tb4b4b4: Ta5d6ff"Enter the base URL of your LibreTranslate server (e.g., https://libretranslate.com or http://localhost:5000)."Tb4b4b4,
Tff7b72"api_key_optional"Tb4b4b4: Ta5d6ff"LibreTranslate API key (optional)"Tb4b4b4,
Tff7b72"api_key_placeholder"Tb4b4b4: Ta5d6ff"Leave empty unless your provider requires one"Tb4b4b4,
Tff7b72"api_key_description"Tb4b4b4: Ta5d6ff"If required, LibreTranslate expects this as api_key in the JSON translate body and optionally on the languages request. Omit for typical self-hosted instances."Tb4b4b4,
Tff7b72"source_language"Tb4b4b4: Ta5d6ff"Source Language"Tb4b4b4,
Tff7b72"auto_detect"Tb4b4b4: Ta5d6ff"Auto-detect"Tb4b4b4,
Tff7b72"target_language"Tb4b4b4: Ta5d6ff"Target Language"Tb4b4b4,
Tff7b72"select_target_language"Tb4b4b4: Ta5d6ff"Select target language"Tb4b4b4,
Tff7b72"argos_not_detected"Tb4b4b4: Ta5d6ff"Argos Translate not detected"Tb4b4b4,
Tff7b72"argos_not_detected_desc"Tb4b4b4: Ta5d6ff"To use local translation, you must install the Argos Translate package using one of the following methods:"Tb4b4b4,
Tff7b72"method_pip_venv"Tb4b4b4: Ta5d6ff"Method 1: pip (venv)"Tb4b4b4,
Tff7b72"method_pipx"Tb4b4b4: Ta5d6ff"Method 2: pipx"Tb4b4b4,
Tff7b72"note_restart_required"Tb4b4b4: Ta5d6ff"Note: After installation, you may need to restart the application and install language packages via the Argos Translate CLI."Tb4b4b4,
Tff7b72"no_language_packages"Tb4b4b4: Ta5d6ff"No language packages detected"Tb4b4b4,
Tff7b72"no_language_packages_desc"Tb4b4b4: Ta5d6ff"Argos Translate is installed but no language packages are available. Install language packages using one of the following commands:"Tb4b4b4,
Tff7b72"install_all_languages"Tb4b4b4: Ta5d6ff"Install all languages"Tb4b4b4,
Tff7b72"install_specific_pair"Tb4b4b4: Ta5d6ff"Install specific language pair (example: English to German)"Tb4b4b4,
Tff7b72"after_install_note"Tb4b4b4: Ta5d6ff"After installing language packages, click \"Refresh Languages\" to reload available languages."Tb4b4b4,
Tff7b72"text_to_translate"Tb4b4b4: Ta5d6ff"Text to Translate"Tb4b4b4,
Tff7b72"enter_text_placeholder"Tb4b4b4: Ta5d6ff"Enter text to translate..."Tb4b4b4,
Tff7b72"translate"Tb4b4b4: Ta5d6ff"Translate"Tb4b4b4,
Tff7b72"swap"Tb4b4b4: Ta5d6ff"Swap"Tb4b4b4,
Tff7b72"clear"Tb4b4b4: Ta5d6ff"Clear"Tb4b4b4,
Tff7b72"translation"Tb4b4b4: Ta5d6ff"Translation"Tb4b4b4,
Tff7b72"source"Tb4b4b4: Ta5d6ff"Source"Tb4b4b4,
Tff7b72"detected"Tb4b4b4: Ta5d6ff"Detected"Tb4b4b4,
Tff7b72"available_languages"Tb4b4b4: Ta5d6ff"Available Languages"Tb4b4b4,
Tff7b72"languages_loaded_from"Tb4b4b4: Ta5d6ff"Languages are loaded from LibreTranslate API or Argos Translate packages."Tb4b4b4,
Tff7b72"refresh_languages"Tb4b4b4: Ta5d6ff"Refresh Languages"Tb4b4b4,
Tff7b72"failed_load_languages"Tb4b4b4: Ta5d6ff"Failed to load languages. Make sure LibreTranslate is running or Argos Translate is installed."Tb4b4b4,
Tff7b72"failed_translate"Tb4b4b4: Ta5d6ff"Translation failed. Make sure LibreTranslate is running or Argos Translate is installed."Tb4b4b4,
Tff7b72"select_languages_warning"Tb4b4b4: Ta5d6ff"Please select both source and target languages."Tb4b4b4,
Tff7b72"auto_detect_not_supported"Tb4b4b4: Ta5d6ff"Auto-detection is not supported with Argos Translate. Please select a source language."Tb4b4b4,
Tff7b72"copied_to_clipboard"Tb4b4b4: Ta5d6ff"Copied to clipboard"
Tb4b4b4},
Tff7b72"call"Tb4b4b4: Tb4b4b4{
Tff7b72"phone"Tb4b4b4: Ta5d6ff"Phone"Tb4b4b4,
Tff7b72"voicemail"Tb4b4b4: Ta5d6ff"Voicemail"Tb4b4b4,
Tff7b72"settings"Tb4b4b4: Ta5d6ff"Settings"Tb4b4b4,
Tff7b72"unknown"Tb4b4b4: Ta5d6ff"Unknown"Tb4b4b4,
Tff7b72"call_ended"Tb4b4b4: Ta5d6ff"Call Ended"Tb4b4b4,
Tff7b72"call_declined"Tb4b4b4: Ta5d6ff"Call Declined"Tb4b4b4,
Tff7b72"initiation"Tb4b4b4: Ta5d6ff"Initiating..."Tb4b4b4,
Tff7b72"send_to_voicemail"Tb4b4b4: Ta5d6ff"Send to Voicemail"Tb4b4b4,
Tff7b72"incoming_call"Tb4b4b4: Ta5d6ff"Incoming Call..."Tb4b4b4,
Tff7b72"busy"Tb4b4b4: Ta5d6ff"Busy..."Tb4b4b4,
Tff7b72"rejected"Tb4b4b4: Ta5d6ff"Rejected..."Tb4b4b4,
Tff7b72"calling"Tb4b4b4: Ta5d6ff"Calling..."Tb4b4b4,
Tff7b72"available"Tb4b4b4: Ta5d6ff"Available..."Tb4b4b4,
Tff7b72"ringing"Tb4b4b4: Ta5d6ff"Ringing..."Tb4b4b4,
Tff7b72"connecting"Tb4b4b4: Ta5d6ff"Connecting..."Tb4b4b4,
Tff7b72"establishing_link"Tb4b4b4: Ta5d6ff"Establishing link..."Tb4b4b4,
Tff7b72"connected"Tb4b4b4: Ta5d6ff"Connected"Tb4b4b4,
Tff7b72"accept"Tb4b4b4: Ta5d6ff"Accept"Tb4b4b4,
Tff7b72"decline"Tb4b4b4: Ta5d6ff"Decline"Tb4b4b4,
Tff7b72"hangup"Tb4b4b4: Ta5d6ff"Hangup"Tb4b4b4,
Tff7b72"answer_call"Tb4b4b4: Ta5d6ff"Answer Call"Tb4b4b4,
Tff7b72"decline_call"Tb4b4b4: Ta5d6ff"Decline Call"Tb4b4b4,
Tff7b72"hangup_call"Tb4b4b4: Ta5d6ff"Hangup Call"Tb4b4b4,
Tff7b72"mute_mic"Tb4b4b4: Ta5d6ff"Mute Mic"Tb4b4b4,
Tff7b72"unmute_mic"Tb4b4b4: Ta5d6ff"Unmute Mic"Tb4b4b4,
Tff7b72"mute_speaker"Tb4b4b4: Ta5d6ff"Mute Speaker"Tb4b4b4,
Tff7b72"unmute_speaker"Tb4b4b4: Ta5d6ff"Unmute Speaker"Tb4b4b4,
Tff7b72"telephone"Tb4b4b4: Ta5d6ff"Telephone"Tb4b4b4,
Tff7b72"enter_identity_hash_to_call"Tb4b4b4: Ta5d6ff"Enter an identity to call."Tb4b4b4,
Tff7b72"identity_hash"Tb4b4b4: Ta5d6ff"Identity Hash"Tb4b4b4,
Tff7b72"call_history"Tb4b4b4: Ta5d6ff"Call History"Tb4b4b4,
Tff7b72"call_back"Tb4b4b4: Ta5d6ff"Call Back"Tb4b4b4,
Tff7b72"no_voicemails"Tb4b4b4: Ta5d6ff"No Voicemails"Tb4b4b4,
Tff7b72"voicemails_will_appear_here"Tb4b4b4: Ta5d6ff"When people leave you messages, they'll show up here."Tb4b4b4,
Tff7b72"voicemail_inbox"Tb4b4b4: Ta5d6ff"Voicemail Inbox"Tb4b4b4,
Tff7b72"messages"Tb4b4b4: Ta5d6ff"Messages"Tb4b4b4,
Tff7b72"delete"Tb4b4b4: Ta5d6ff"Delete"Tb4b4b4,
Tff7b72"voicemail_settings"Tb4b4b4: Ta5d6ff"Voicemail Settings"Tb4b4b4,
Tff7b72"dependencies_missing"Tb4b4b4: Ta5d6ff"Dependencies Missing"Tb4b4b4,
Tff7b72"voicemail_requires_espeak"Tb4b4b4: Ta5d6ff"Voicemail requires `espeak-ng` to generate greetings. Please install it on your system."Tb4b4b4,
Tff7b72"enable_voicemail"Tb4b4b4: Ta5d6ff"Enable Voicemail"Tb4b4b4,
Tff7b72"enable_voicemail_description"Tb4b4b4: Ta5d6ff"Accept calls automatically and record messages"Tb4b4b4,
Tff7b72"greeting_message"Tb4b4b4: Ta5d6ff"Greeting Message"Tb4b4b4,
Tff7b72"enter_greeting_text"Tb4b4b4: Ta5d6ff"Enter greeting text..."Tb4b4b4,
Tff7b72"greeting_text_description"Tb4b4b4: Ta5d6ff"This text will be converted to speech using eSpeak NG."Tb4b4b4,
Tff7b72"tts_speed"Tb4b4b4: Ta5d6ff"TTS Speed"Tb4b4b4,
Tff7b72"tts_pitch"Tb4b4b4: Ta5d6ff"TTS Pitch"Tb4b4b4,
Tff7b72"tts_voice"Tb4b4b4: Ta5d6ff"TTS Voice"Tb4b4b4,
Tff7b72"tts_word_gap"Tb4b4b4: Ta5d6ff"TTS Word Gap"Tb4b4b4,
Tff7b72"save_and_generate"Tb4b4b4: Ta5d6ff"Save & Generate"Tb4b4b4,
Tff7b72"generating"Tb4b4b4: Ta5d6ff"Generating..."Tb4b4b4,
Tff7b72"preview_greeting"Tb4b4b4: Ta5d6ff"Preview Greeting"Tb4b4b4,
Tff7b72"stop_preview"Tb4b4b4: Ta5d6ff"Stop Preview"Tb4b4b4,
Tff7b72"answer_delay_seconds"Tb4b4b4: Ta5d6ff"Answer Delay (s)"Tb4b4b4,
Tff7b72"max_recording_seconds"Tb4b4b4: Ta5d6ff"Max Recording (s)"Tb4b4b4,
Tff7b72"recording_voicemail"Tb4b4b4: Ta5d6ff"Recording Voicemail"Tb4b4b4,
Tff7b72"call_status"Tb4b4b4: Ta5d6ff"Call Status"Tb4b4b4,
Tff7b72"call_recording"Tb4b4b4: Ta5d6ff"Call Recorder"Tb4b4b4,
Tff7b72"call_recording_description"Tb4b4b4: Ta5d6ff"Record voice calls to storage"Tb4b4b4,
Tff7b72"recordings"Tb4b4b4: Ta5d6ff"Recordings"Tb4b4b4,
Tff7b72"no_recordings"Tb4b4b4: Ta5d6ff"No recordings found"Tb4b4b4,
Tff7b72"remote_rx"Tb4b4b4: Ta5d6ff"Remote (RX)"Tb4b4b4,
Tff7b72"local_tx"Tb4b4b4: Ta5d6ff"Local (TX)"Tb4b4b4,
Tff7b72"download_rx"Tb4b4b4: Ta5d6ff"Download RX"Tb4b4b4,
Tff7b72"download_tx"Tb4b4b4: Ta5d6ff"Download TX"Tb4b4b4,
Tff7b72"default_quality"Tb4b4b4: Ta5d6ff"Default Quality"Tb4b4b4,
Tff7b72"active_call"Tb4b4b4: Ta5d6ff"Active Call"Tb4b4b4,
Tff7b72"status"Tb4b4b4: Ta5d6ff"Status"Tb4b4b4,
Tff7b72"failed_to_answer_call"Tb4b4b4: Ta5d6ff"Failed to answer call"Tb4b4b4,
Tff7b72"failed_to_hangup_call"Tb4b4b4: Ta5d6ff"Failed to hangup call"Tb4b4b4,
Tff7b72"failed_to_toggle_microphone"Tb4b4b4: Ta5d6ff"Failed to toggle microphone"Tb4b4b4,
Tff7b72"failed_to_toggle_speaker"Tb4b4b4: Ta5d6ff"Failed to toggle speaker"Tb4b4b4,
Tff7b72"failed_to_switch_audio_profile"Tb4b4b4: Ta5d6ff"Failed to switch audio profile"Tb4b4b4,
Tff7b72"failed_to_initiate_call"Tb4b4b4: Ta5d6ff"Failed to initiate call"Tb4b4b4,
Tff7b72"enter_identity_hash_to_call_error"Tb4b4b4: Ta5d6ff"Enter an identity to call"Tb4b4b4,
Tff7b72"failed_to_save_settings"Tb4b4b4: Ta5d6ff"Failed to save settings"Tb4b4b4,
Tff7b72"do_not_disturb"Tb4b4b4: Ta5d6ff"Do Not Disturb"Tb4b4b4,
Tff7b72"load_more"Tb4b4b4: Ta5d6ff"Load More"Tb4b4b4,
Tff7b72"go_to_phone_page"Tb4b4b4: Ta5d6ff"Go to Phone Page"Tb4b4b4,
Tff7b72"search_history"Tb4b4b4: Ta5d6ff"Search history..."Tb4b4b4,
Tff7b72"allow_calls_from_contacts_only"Tb4b4b4: Ta5d6ff"Only allow calls from contacts"Tb4b4b4,
Tff7b72"settings_saved"Tb4b4b4: Ta5d6ff"Settings saved"Tb4b4b4,
Tff7b72"greeting_generated_successfully"Tb4b4b4: Ta5d6ff"Greeting generated successfully"Tb4b4b4,
Tff7b72"failed_to_generate_greeting"Tb4b4b4: Ta5d6ff"Failed to generate greeting"Tb4b4b4,
Tff7b72"no_greeting_audio_found"Tb4b4b4: Ta5d6ff"No greeting audio found. Please generate one first."Tb4b4b4,
Tff7b72"voicemail_deleted"Tb4b4b4: Ta5d6ff"Voicemail deleted"Tb4b4b4,
Tff7b72"failed_to_delete_voicemail"Tb4b4b4: Ta5d6ff"Failed to delete voicemail"Tb4b4b4,
Tff7b72"ringtone"Tb4b4b4: Ta5d6ff"Ringtone"Tb4b4b4,
Tff7b72"ringtone_settings"Tb4b4b4: Ta5d6ff"Ringtone Settings"Tb4b4b4,
Tff7b72"enable_custom_ringtone"Tb4b4b4: Ta5d6ff"Enable Custom Ringtone"Tb4b4b4,
Tff7b72"enable_custom_ringtone_description"Tb4b4b4: Ta5d6ff"Play a custom audio file for all incoming calls"Tb4b4b4,
Tff7b72"upload_ringtone"Tb4b4b4: Ta5d6ff"Upload Ringtone"Tb4b4b4,
Tff7b72"uploading_ringtone"Tb4b4b4: Ta5d6ff"Uploading Ringtone..."Tb4b4b4,
Tff7b72"no_custom_ringtone_uploaded"Tb4b4b4: Ta5d6ff"No custom ringtone uploaded"Tb4b4b4,
Tff7b72"supports_audio_formats"Tb4b4b4: Ta5d6ff"Supports MP3, OGG, WAV, M4A, FLAC. Will be converted to Opus."Tb4b4b4,
Tff7b72"preview_ringtone"Tb4b4b4: Ta5d6ff"Preview Ringtone"Tb4b4b4,
Tff7b72"remove_ringtone"Tb4b4b4: Ta5d6ff"Remove Ringtone"Tb4b4b4,
Tff7b72"ringtone_uploaded_successfully"Tb4b4b4: Ta5d6ff"Ringtone uploaded successfully"Tb4b4b4,
Tff7b72"failed_to_upload_ringtone"Tb4b4b4: Ta5d6ff"Failed to upload ringtone"Tb4b4b4,
Tff7b72"ringtone_deleted"Tb4b4b4: Ta5d6ff"Ringtone deleted"Tb4b4b4,
Tff7b72"failed_to_delete_ringtone"Tb4b4b4: Ta5d6ff"Failed to delete ringtone"Tb4b4b4,
Tff7b72"no_ringtone_audio_found"Tb4b4b4: Ta5d6ff"No ringtone audio found. Please upload one first."Tb4b4b4,
Tff7b72"ringtone_volume"Tb4b4b4: Ta5d6ff"Ringtone Volume"Tb4b4b4,
Tff7b72"default_ringtone"Tb4b4b4: Ta5d6ff"Default Ringtone"Tb4b4b4,
Tff7b72"ringtone_for_non_contacts"Tb4b4b4: Ta5d6ff"Ringtone for callers not in your contacts"Tb4b4b4,
Tff7b72"primary_system_default"Tb4b4b4: Ta5d6ff"Primary (System Default)"Tb4b4b4,
Tff7b72"random"Tb4b4b4: Ta5d6ff"Random"Tb4b4b4,
Tff7b72"edit_contact"Tb4b4b4: Ta5d6ff"Edit Contact"Tb4b4b4,
Tff7b72"add_contact"Tb4b4b4: Ta5d6ff"Add Contact"Tb4b4b4,
Tff7b72"contact_name"Tb4b4b4: Ta5d6ff"Contact Name"Tb4b4b4,
Tff7b72"preferred_ringtone"Tb4b4b4: Ta5d6ff"Preferred Ringtone"Tb4b4b4,
Tff7b72"default_global_setting"Tb4b4b4: Ta5d6ff"Default (Global Setting)"Tb4b4b4,
Tff7b72"uploaded_ringtones"Tb4b4b4: Ta5d6ff"Uploaded Ringtones"Tb4b4b4,
Tff7b72"save_contact"Tb4b4b4: Ta5d6ff"Save Contact"Tb4b4b4,
Tff7b72"primary_ringtone_set"Tb4b4b4: Ta5d6ff"Primary ringtone set"Tb4b4b4,
Tff7b72"failed_to_set_primary_ringtone"Tb4b4b4: Ta5d6ff"Failed to set primary ringtone"Tb4b4b4,
Tff7b72"failed_to_update_ringtone_name"Tb4b4b4: Ta5d6ff"Failed to update ringtone name"Tb4b4b4,
Tff7b72"failed_to_play_ringtone"Tb4b4b4: Ta5d6ff"Failed to play ringtone"Tb4b4b4,
Tff7b72"failed_to_play_voicemail"Tb4b4b4: Ta5d6ff"Failed to play voicemail"Tb4b4b4,
Tff7b72"web_audio_not_available"Tb4b4b4: Ta5d6ff"Web audio not available"Tb4b4b4,
Tff7b72"no_audio_input_found"Tb4b4b4: Ta5d6ff"No input audio device found. Check microphone and permissions."Tb4b4b4,
Tff7b72"microphone_permission_denied"Tb4b4b4: Ta5d6ff"Microphone permission denied. Allow access and try again."Tb4b4b4,
Tff7b72"failed_to_update_dnd"Tb4b4b4: Ta5d6ff"Failed to update Do Not Disturb status"Tb4b4b4,
Tff7b72"failed_to_update_call_settings"Tb4b4b4: Ta5d6ff"Failed to update call settings"Tb4b4b4,
Tff7b72"failed_to_update_recording_status"Tb4b4b4: Ta5d6ff"Failed to update call recording status"Tb4b4b4,
Tff7b72"call_history_cleared"Tb4b4b4: Ta5d6ff"Call history cleared"Tb4b4b4,
Tff7b72"failed_to_clear_call_history"Tb4b4b4: Ta5d6ff"Failed to clear call history"Tb4b4b4,
Tff7b72"identity_banished"Tb4b4b4: Ta5d6ff"Identity banished"Tb4b4b4,
Tff7b72"failed_to_banish_identity"Tb4b4b4: Ta5d6ff"Failed to banish identity"Tb4b4b4,
Tff7b72"name_and_hash_required"Tb4b4b4: Ta5d6ff"Name and identity hash required"Tb4b4b4,
Tff7b72"contact_updated"Tb4b4b4: Ta5d6ff"Contact updated"Tb4b4b4,
Tff7b72"contact_added"Tb4b4b4: Ta5d6ff"Contact added"Tb4b4b4,
Tff7b72"contact_deleted"Tb4b4b4: Ta5d6ff"Contact deleted"Tb4b4b4,
Tff7b72"failed_to_delete_contact"Tb4b4b4: Ta5d6ff"Failed to delete contact"Tb4b4b4,
Tff7b72"hash_copied"Tb4b4b4: Ta5d6ff"Hash copied to clipboard"Tb4b4b4,
Tff7b72"failed_to_copy_hash"Tb4b4b4: Ta5d6ff"Failed to copy hash"Tb4b4b4,
Tff7b72"greeting_uploaded_successfully"Tb4b4b4: Ta5d6ff"Greeting uploaded successfully"Tb4b4b4,
Tff7b72"greeting_deleted"Tb4b4b4: Ta5d6ff"Greeting deleted"Tb4b4b4,
Tff7b72"failed_to_delete_greeting"Tb4b4b4: Ta5d6ff"Failed to delete greeting"Tb4b4b4,
Tff7b72"failed_to_start_recording_greeting"Tb4b4b4: Ta5d6ff"Failed to start recording greeting"Tb4b4b4,
Tff7b72"greeting_recorded_from_mic"Tb4b4b4: Ta5d6ff"Greeting recorded from mic"Tb4b4b4,
Tff7b72"failed_to_stop_recording_greeting"Tb4b4b4: Ta5d6ff"Failed to stop recording greeting"Tb4b4b4,
Tff7b72"failed_to_load_recording"Tb4b4b4: Ta5d6ff"Failed to load recording audio"Tb4b4b4,
Tff7b72"recording_deleted"Tb4b4b4: Ta5d6ff"Recording deleted"Tb4b4b4,
Tff7b72"failed_to_delete_recording"Tb4b4b4: Ta5d6ff"Failed to delete recording"Tb4b4b4,
Tff7b72"call_sent_to_voicemail"Tb4b4b4: Ta5d6ff"Call sent to voicemail"Tb4b4b4,
Tff7b72"failed_to_send_to_voicemail"Tb4b4b4: Ta5d6ff"Failed to send call to voicemail"Tb4b4b4,
Tff7b72"failed_load_audio_edit"Tb4b4b4: Ta5d6ff"Failed to load audio for editing"Tb4b4b4,
Tff7b72"ringtone_saved"Tb4b4b4: Ta5d6ff"Ringtone saved successfully"Tb4b4b4,
Tff7b72"failed_save_ringtone"Tb4b4b4: Ta5d6ff"Failed to save edited ringtone"
Tb4b4b4},
Tff7b72"contacts"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Contacts"Tb4b4b4,
Tff7b72"description"Tb4b4b4: Ta5d6ff"Manage your contact list and share/import identities."Tb4b4b4,
Tff7b72"search_placeholder"Tb4b4b4: Ta5d6ff"Search contacts..."Tb4b4b4,
Tff7b72"actions"Tb4b4b4: Ta5d6ff"Actions"Tb4b4b4,
Tff7b72"no_contacts"Tb4b4b4: Ta5d6ff"No contacts found"Tb4b4b4,
Tff7b72"load_more"Tb4b4b4: Ta5d6ff"Load more"Tb4b4b4,
Tff7b72"add_contact"Tb4b4b4: Ta5d6ff"Add Contact"Tb4b4b4,
Tff7b72"contact_name_optional"Tb4b4b4: Ta5d6ff"Contact Name (Optional)"Tb4b4b4,
Tff7b72"contact_name_placeholder"Tb4b4b4: Ta5d6ff"e.g. Field Node"Tb4b4b4,
Tff7b72"hash_or_uri"Tb4b4b4: Ta5d6ff"LXMF Hash or URI"Tb4b4b4,
Tff7b72"hash_or_uri_placeholder"Tb4b4b4: Ta5d6ff"32-char hash, lxmf://..., or lxma://..."Tb4b4b4,
Tff7b72"paste"Tb4b4b4: Ta5d6ff"Paste"Tb4b4b4,
Tff7b72"failed_load_contacts"Tb4b4b4: Ta5d6ff"Failed to load contacts"Tb4b4b4,
Tff7b72"invalid_contact_input"Tb4b4b4: Ta5d6ff"Invalid input. Use a 32-char hash or lxma:// URI."Tb4b4b4,
Tff7b72"contact_already_exists"Tb4b4b4: Ta5d6ff"Contact already exists"Tb4b4b4,
Tff7b72"contact_added"Tb4b4b4: Ta5d6ff"Contact added"Tb4b4b4,
Tff7b72"failed_add_contact"Tb4b4b4: Ta5d6ff"Failed to add contact"Tb4b4b4,
Tff7b72"remove_contact"Tb4b4b4: Ta5d6ff"Remove Contact"Tb4b4b4,
Tff7b72"remove_contact_confirm"Tb4b4b4: Ta5d6ff"Remove this contact?"Tb4b4b4,
Tff7b72"contact_removed"Tb4b4b4: Ta5d6ff"Contact removed"Tb4b4b4,
Tff7b72"failed_remove_contact"Tb4b4b4: Ta5d6ff"Failed to remove contact"Tb4b4b4,
Tff7b72"share_contact"Tb4b4b4: Ta5d6ff"Share Contact URI"Tb4b4b4,
Tff7b72"copy_contact_uri"Tb4b4b4: Ta5d6ff"Copy Contact URI"Tb4b4b4,
Tff7b72"contact_uri_copied"Tb4b4b4: Ta5d6ff"Contact URI copied to clipboard"Tb4b4b4,
Tff7b72"failed_build_contact_uri"Tb4b4b4: Ta5d6ff"Could not build a share URI for this contact"Tb4b4b4,
Tff7b72"share_my_identity"Tb4b4b4: Ta5d6ff"Share My Identity"Tb4b4b4,
Tff7b72"identity_uri_copied"Tb4b4b4: Ta5d6ff"Identity URI copied to clipboard"Tb4b4b4,
Tff7b72"share"Tb4b4b4: Ta5d6ff"Share"Tb4b4b4,
Tff7b72"scan_qr"Tb4b4b4: Ta5d6ff"Scan QR Code"Tb4b4b4,
Tff7b72"scanner_hint"Tb4b4b4: Ta5d6ff"Point camera at an identity QR code."Tb4b4b4,
Tff7b72"camera_not_supported"Tb4b4b4: Ta5d6ff"Camera QR scanning is not supported in this browser."Tb4b4b4,
Tff7b72"camera_permission_denied"Tb4b4b4: Ta5d6ff"Camera permission denied. Please allow camera access."Tb4b4b4,
Tff7b72"camera_not_found"Tb4b4b4: Ta5d6ff"No camera device found."Tb4b4b4,
Tff7b72"camera_failed"Tb4b4b4: Ta5d6ff"Failed to start camera scanner."Tb4b4b4,
Tff7b72"qr_scanned"Tb4b4b4: Ta5d6ff"QR code scanned"Tb4b4b4,
Tff7b72"importing_lxma"Tb4b4b4: Ta5d6ff"Importing LXMA contact..."Tb4b4b4,
Tff7b72"send_message"Tb4b4b4: Ta5d6ff"Send Message"Tb4b4b4,
Tff7b72"call_contact"Tb4b4b4: Ta5d6ff"Call"Tb4b4b4,
Tff7b72"export_contacts"Tb4b4b4: Ta5d6ff"Export"Tb4b4b4,
Tff7b72"import_contacts"Tb4b4b4: Ta5d6ff"Import"Tb4b4b4,
Tff7b72"export_success"Tb4b4b4: Ta5d6ff"Contacts exported"Tb4b4b4,
Tff7b72"export_failed"Tb4b4b4: Ta5d6ff"Failed to export contacts"Tb4b4b4,
Tff7b72"import_success"Tb4b4b4: Ta5d6ff"Imported {added} contact(s)"Tb4b4b4,
Tff7b72"import_failed"Tb4b4b4: Ta5d6ff"Failed to import contacts"Tb4b4b4,
Tff7b72"import_modal_title"Tb4b4b4: Ta5d6ff"Import Contacts"Tb4b4b4,
Tff7b72"import_file_hint"Tb4b4b4: Ta5d6ff"Select a JSON file exported from Contacts."Tb4b4b4,
Tff7b72"edit_contact"Tb4b4b4: Ta5d6ff"Edit Contact"Tb4b4b4,
Tff7b72"enter_contact_name"Tb4b4b4: Ta5d6ff"Enter contact name"Tb4b4b4,
Tff7b72"contact_updated"Tb4b4b4: Ta5d6ff"Contact updated"Tb4b4b4,
Tff7b72"failed_update_contact"Tb4b4b4: Ta5d6ff"Failed to update contact"
Tb4b4b4},
Tff7b72"tutorial"Tb4b4b4: Tb4b4b4{
Tff7b72"title"Tb4b4b4: Ta5d6ff"Getting Started"Tb4b4b4,
Tff7b72"welcome"Tb4b4b4: Ta5d6ff"Welcome to"Tb4b4b4,
Tff7b72"welcome_desc"Tb4b4b4: Ta5d6ff"The future of off-grid communication. Secure, decentralized, and unstoppable."Tb4b4b4,
Tff7b72"migration_title"Tb4b4b4: Ta5d6ff"Earlier install folder detected"Tb4b4b4,
Tff7b72"migration_desc"Tb4b4b4: Ta5d6ff"Data was found in .reticulum-meshchat. Copy it into .reticulum-meshchatx and restart, or start fresh and leave the old folder as-is."Tb4b4b4,
Tff7b72"migration_migrate"Tb4b4b4: Ta5d6ff"Copy to .reticulum-meshchatx"Tb4b4b4,
Tff7b72"migration_fresh"Tb4b4b4: Ta5d6ff"Start fresh"Tb4b4b4,
Tff7b72"migration_working"Tb4b4b4: Ta5d6ff"Updating storage…"Tb4b4b4,
Tff7b72"migration_done_restart"Tb4b4b4: Ta5d6ff"Restart the app to use the new folder."Tb4b4b4,
Tff7b72"migration_failed"Tb4b4b4: Ta5d6ff"Could not update storage."Tb4b4b4,
Tff7b72"security"Tb4b4b4: Ta5d6ff"Security & Performance"Tb4b4b4,
Tff7b72"security_desc"Tb4b4b4: Ta5d6ff"Massive improvements in speed, security, and crash recovery."Tb4b4b4,
Tff7b72"security_desc_page"Tb4b4b4: Ta5d6ff"Massive improvements in speed, security, and integrity with built-in crash recovery."Tb4b4b4,
Tff7b72"maps"Tb4b4b4: Ta5d6ff"Maps"Tb4b4b4,
Tff7b72"maps_desc"Tb4b4b4: Ta5d6ff"OpenLayers w/ MBTiles support (export and offline support) and custom API endpoints."Tb4b4b4,
Tff7b72"maps_desc_page"Tb4b4b4: Ta5d6ff"OpenLayers support with offline MBTiles (export and offline support) and custom API endpoints for online maps."Tb4b4b4,
Tff7b72"voice"Tb4b4b4: Ta5d6ff"Full LXST Voice"Tb4b4b4,
Tff7b72"voice_desc"Tb4b4b4: Ta5d6ff"Voicemail, ringtones, phonebook, and contact sharing."Tb4b4b4,
Tff7b72"voice_desc_page"Tb4b4b4: Ta5d6ff"Crystal clear voice calls over mesh. Voicemail, custom ringtones, and phonebook discovery."Tb4b4b4,
Tff7b72"tools"Tb4b4b4: Ta5d6ff"Built-in extras"Tb4b4b4,
Tff7b72"tools_desc"Tb4b4b4: Ta5d6ff"Micron Editor, NomadNet, RNS tools, Docs."Tb4b4b4,
Tff7b72"tools_desc_page"Tb4b4b4: Ta5d6ff"Micron editor, NomadNet nodes, RNS tools, and integrated documentation."Tb4b4b4,
Tff7b72"archiver"Tb4b4b4: Ta5d6ff"Archiver"Tb4b4b4,
Tff7b72"archiver_desc"Tb4b4b4: Ta5d6ff"Manual and Automated page archiving."Tb4b4b4,
Tff7b72"archiver_desc_page"Tb4b4b4: Ta5d6ff"Manual and Automated page archiving tools for offline browsing."Tb4b4b4,
Tff7b72"banishment"Tb4b4b4: Ta5d6ff"Banishment"Tb4b4b4,
Tff7b72"banishment_desc"Tb4b4b4: Ta5d6ff"Banish annoying people, nodes and support for RNS blackhole level dropping their announces"Tb4b4b4,
Tff7b72"palette"Tb4b4b4: Ta5d6ff"Command Palette + Keybindings"Tb4b4b4,
Tff7b72"palette_desc"Tb4b4b4: Ta5d6ff"Navigate everything instantly and customize shortcuts."Tb4b4b4,
Tff7b72"palette_desc_page"Tb4b4b4: Ta5d6ff"Navigate the entire application and customize your workflow with instant shortcuts."Tb4b4b4,
Tff7b72"i18n"Tb4b4b4: Ta5d6ff"i18n Support"Tb4b4b4,
Tff7b72"i18n_desc"Tb4b4b4: Ta5d6ff"Available in English, German, Italian, Russian, Dutch, French, and Spanish."Tb4b4b4,
Tff7b72"i18n_desc_page"Tb4b4b4: Ta5d6ff"Full internationalization support for English, German, Italian, Russian, Dutch, French, and Spanish."Tb4b4b4,
Tff7b72"more_features"Tb4b4b4: Ta5d6ff"+ many more features!"Tb4b4b4,
Tff7b72"connect"Tb4b4b4: Ta5d6ff"Connect to the Mesh"Tb4b4b4,
Tff7b72"connect_desc"Tb4b4b4: Ta5d6ff"To send messages, you need to connect to a Reticulum interface."Tb4b4b4,
Tff7b72"connect_desc_page"Tb4b4b4: Ta5d6ff"Use one of the public networks below or add a custom interface from the Interfaces page."Tb4b4b4,
Tff7b72"identity_title"Tb4b4b4: Ta5d6ff"Identity"Tb4b4b4,
Tff7b72"identity_desc"Tb4b4b4: Ta5d6ff"Choose a new identity or import an existing key before connecting."Tb4b4b4,
Tff7b72"identity_desc_page"Tb4b4b4: Ta5d6ff"Choose a new identity or import an existing key before connecting to the mesh."Tb4b4b4,
Tff7b72"identity_new"Tb4b4b4: Ta5d6ff"New Identity (default)"Tb4b4b4,
Tff7b72"identity_new_desc"Tb4b4b4: Ta5d6ff"Keep the default identity and optionally set your display name."Tb4b4b4,
Tff7b72"identity_import"Tb4b4b4: Ta5d6ff"Import existing identity"Tb4b4b4,
Tff7b72"identity_import_desc"Tb4b4b4: Ta5d6ff"Import from an identity file or paste a base32 key."Tb4b4b4,
Tff7b72"identity_set_name"Tb4b4b4: Ta5d6ff"Set name"Tb4b4b4,
Tff7b72"identity_upload_file"Tb4b4b4: Ta5d6ff"Import identity file"Tb4b4b4,
Tff7b72"identity_base32_placeholder"Tb4b4b4: Ta5d6ff"Paste base32 private identity key"Tb4b4b4,
Tff7b72"identity_import_required"Tb4b4b4: Ta5d6ff"Choose an identity file or paste a base32 key to import."Tb4b4b4,
Tff7b72"identity_import_failed"Tb4b4b4: Ta5d6ff"Failed to import identity"Tb4b4b4,
Tff7b72"identity_name_update_failed"Tb4b4b4: Ta5d6ff"Failed to set display name"Tb4b4b4,
Tff7b72"identity_switch_failed"Tb4b4b4: Ta5d6ff"Failed to activate imported identity"Tb4b4b4,
Tff7b72"suggested_networks"Tb4b4b4: Ta5d6ff"Suggested Public Networks"Tb4b4b4,
Tff7b72"suggested_relays"Tb4b4b4: Ta5d6ff"Suggested Relays"Tb4b4b4,
Tff7b72"use"Tb4b4b4: Ta5d6ff"Use"Tb4b4b4,
Tff7b72"online"Tb4b4b4: Ta5d6ff"Online"Tb4b4b4,
Tff7b72"custom_interfaces"Tb4b4b4: Ta5d6ff"Custom Interfaces"Tb4b4b4,
Tff7b72"custom_interfaces_desc"Tb4b4b4: Ta5d6ff"Want to add a bespoke interface? Head to the Interfaces page to configure a custom connection."Tb4b4b4,
Tff7b72"custom_interfaces_desc_page"Tb4b4b4: Ta5d6ff"For any private relays or hardware you manage yourself, add them through the dedicated Interfaces page."Tb4b4b4,
Tff7b72"open_interfaces"Tb4b4b4: Ta5d6ff"Open Interfaces page"Tb4b4b4,
Tff7b72"learn_create"Tb4b4b4: Ta5d6ff"Learn & Create"Tb4b4b4,
Tff7b72"learn_create_desc"Tb4b4b4: Ta5d6ff"Discover how to use MeshChatX to its full potential."Tb4b4b4,
Tff7b72"learn_create_desc_page"Tb4b4b4: Ta5d6ff"Discover how to use MeshChatX to its full potential and create your own content."Tb4b4b4,
Tff7b72"learn_create_more"Tb4b4b4: Ta5d6ff"More to explore"Tb4b4b4,
Tff7b72"documentation"Tb4b4b4: Ta5d6ff"Documentation"Tb4b4b4,
Tff7b72"documentation_desc"Tb4b4b4: Ta5d6ff"Read the official MeshChatX and Reticulum documentation."Tb4b4b4,
Tff7b72"documentation_desc_page"Tb4b4b4: Ta5d6ff"Guides for MeshChatX and the Reticulum stack."Tb4b4b4,
Tff7b72"meshchatx_docs"Tb4b4b4: Ta5d6ff"MeshChatX Docs"Tb4b4b4,
Tff7b72"reticulum_docs"Tb4b4b4: Ta5d6ff"Reticulum Docs"Tb4b4b4,
Tff7b72"read_meshchatx_docs"Tb4b4b4: Ta5d6ff"Read MeshChatX Docs"Tb4b4b4,
Tff7b72"reticulum_manual"Tb4b4b4: Ta5d6ff"Reticulum Network Manual"Tb4b4b4,
Tff7b72"micron_editor"Tb4b4b4: Ta5d6ff"Micron Editor"Tb4b4b4,
Tff7b72"micron_editor_desc"Tb4b4b4: Ta5d6ff"Take a look at the Micron Editor for a guide on creating mesh-native pages."Tb4b4b4,
Tff7b72"micron_editor_desc_page"Tb4b4b4: Ta5d6ff"Learn how to create mesh-native pages and interactive content using the Micron markup language."Tb4b4b4,
Tff7b72"open_micron_editor"Tb4b4b4: Ta5d6ff"Open Micron Editor"Tb4b4b4,
Tff7b72"open_mesh_server"Tb4b4b4: Ta5d6ff"Open Mesh Server"Tb4b4b4,
Tff7b72"open_identities"Tb4b4b4: Ta5d6ff"Identities"Tb4b4b4,
Tff7b72"identities_card_title"Tb4b4b4: Ta5d6ff"Multiple identities"Tb4b4b4,
Tff7b72"identities_card_desc"Tb4b4b4: Ta5d6ff"Switch personas, export keys, and keep separate profiles on one device."Tb4b4b4,
Tff7b72"identities_card_desc_page"Tb4b4b4: Ta5d6ff"Run multiple Reticulum identities on one install: create and delete personas, switch who you are on the mesh, and export keys when you need them."Tb4b4b4,
Tff7b72"paper_messages"Tb4b4b4: Ta5d6ff"Explore NomadNet Nodes"Tb4b4b4,
Tff7b72"paper_messages_desc"Tb4b4b4: Ta5d6ff"Browse Nomad pages and services."Tb4b4b4,
Tff7b72"send_messages"Tb4b4b4: Ta5d6ff"Send Messages"Tb4b4b4,
Tff7b72"send_messages_desc"Tb4b4b4: Ta5d6ff"Start a secure conversation."Tb4b4b4,
Tff7b72"explore_nodes"Tb4b4b4: Ta5d6ff"Visualize Nodes"Tb4b4b4,
Tff7b72"explore_nodes_desc"Tb4b4b4: Ta5d6ff"Open the map or network graph."Tb4b4b4,
Tff7b72"voice_calls"Tb4b4b4: Ta5d6ff"Voice Calls"Tb4b4b4,
Tff7b72"voice_calls_desc"Tb4b4b4: Ta5d6ff"Place and receive voice calls."Tb4b4b4,
Tff7b72"ready"Tb4b4b4: Ta5d6ff"Ready to Roll!"Tb4b4b4,
Tff7b72"ready_desc"Tb4b4b4: Ta5d6ff"Everything is set up. Reticulum has been restarted with your new configuration."Tb4b4b4,
Tff7b72"ready_desc_page"Tb4b4b4: Ta5d6ff"MeshChatX is now configured and Reticulum has been hot-reloaded with your new settings."Tb4b4b4,
Tff7b72"docker_note"Tb4b4b4: Ta5d6ff"Reticulum was restarted automatically. If anything looks off, you can restart MeshChatX from the menu."Tb4b4b4,
Tff7b72"restart_required"Tb4b4b4: Ta5d6ff"Reticulum Restarted"Tb4b4b4,
Tff7b72"restart_desc_page"Tb4b4b4: Ta5d6ff"Reticulum was hot-reloaded with your new configuration. No manual restart is required for normal use."Tb4b4b4,
Tff7b72"back"Tb4b4b4: Ta5d6ff"Back"Tb4b4b4,
Tff7b72"skip"Tb4b4b4: Ta5d6ff"Skip"Tb4b4b4,
Tff7b72"next"Tb4b4b4: Ta5d6ff"Next"Tb4b4b4,
Tff7b72"restart_start"Tb4b4b4: Ta5d6ff"Start MeshChatX"Tb4b4b4,
Tff7b72"finish_setup"Tb4b4b4: Ta5d6ff"Finish Setup"Tb4b4b4,
Tff7b72"skip_setup"Tb4b4b4: Ta5d6ff"Skip Setup"Tb4b4b4,
Tff7b72"continue"Tb4b4b4: Ta5d6ff"Continue"Tb4b4b4,
Tff7b72"skip_confirm"Tb4b4b4: Ta5d6ff"Are you sure you want to skip the setup? You'll need to manually add interfaces later."Tb4b4b4,
Tff7b72"discovery_question"Tb4b4b4: Ta5d6ff"Do you want to use community interface discovering and auto-connect?"Tb4b4b4,
Tff7b72"discovery_desc"Tb4b4b4: Ta5d6ff"This allows MeshChatX to automatically find and connect to public community nodes near you or on the internet."Tb4b4b4,
Tff7b72"yes"Tb4b4b4: Ta5d6ff"Yes, use discovery"Tb4b4b4,
Tff7b72"no"Tb4b4b4: Ta5d6ff"No, manual setup"Tb4b4b4,
Tff7b72"discovery_enabled"Tb4b4b4: Ta5d6ff"Community discovery enabled"Tb4b4b4,
Tff7b72"failed_enable_discovery"Tb4b4b4: Ta5d6ff"Failed to enable discovery"Tb4b4b4,
Tff7b72"mode_discovery_title"Tb4b4b4: Ta5d6ff"Auto-Discovery"Tb4b4b4,
Tff7b72"mode_discovery_desc"Tb4b4b4: Ta5d6ff"Find and auto-connect to nearby and internet-reachable Reticulum nodes. You'll pick one or more bootstrap nodes next."Tb4b4b4,
Tff7b72"mode_local_title"Tb4b4b4: Ta5d6ff"Local Network Only"Tb4b4b4,
Tff7b72"mode_local_desc"Tb4b4b4: Ta5d6ff"Use Reticulum on your LAN/Wi-Fi only. Adds an AutoInterface for zero-config local mesh."Tb4b4b4,
Tff7b72"mode_manual_title"Tb4b4b4: Ta5d6ff"Manual Setup"Tb4b4b4,
Tff7b72"mode_manual_desc"Tb4b4b4: Ta5d6ff"Skip and configure interfaces yourself from the Interfaces page later."Tb4b4b4,
Tff7b72"mode_change_later"Tb4b4b4: Ta5d6ff"You can change connection settings any time from Reticulum settings."Tb4b4b4,
Tff7b72"bootstrap_title"Tb4b4b4: Ta5d6ff"Pick Bootstrap Nodes"Tb4b4b4,
Tff7b72"bootstrap_desc"Tb4b4b4: Ta5d6ff"Bootstrap nodes give discovery a starting point. Select one or more, then continue."Tb4b4b4,
Tff7b72"bootstrap_pick_random_tcp"Tb4b4b4: Ta5d6ff"Pick 3 random TCP nodes"Tb4b4b4,
Tff7b72"bootstrap_pick_random_none"Tb4b4b4: Ta5d6ff"No suitable TCP community presets are available. Refresh community presets or pick nodes manually (discovered lists are not used for random pick)."Tb4b4b4,
Tff7b72"bootstrap_pick_random_done"Tb4b4b4: Ta5d6ff"Selected {count}: {names}"Tb4b4b4,
Tff7b72"bootstrap_selected_nodes_heading"Tb4b4b4: Ta5d6ff"Selected nodes"Tb4b4b4,
Tff7b72"bootstrap_search_placeholder"Tb4b4b4: Ta5d6ff"Search discovered and community…"Tb4b4b4,
Tff7b72"bootstrap_search_no_match"Tb4b4b4: Ta5d6ff"No nodes match your search"Tb4b4b4,
Tff7b72"bootstrap_search_clear"Tb4b4b4: Ta5d6ff"Clear search"Tb4b4b4,
Tff7b72"bootstrap_only_label"Tb4b4b4: Ta5d6ff"Bootstrap-only for added interfaces"Tb4b4b4,
Tff7b72"bootstrap_only_hint"Tb4b4b4: Ta5d6ff"When on, every interface you add in this step is created as bootstrap-only, which Reticulum can drop after enough links auto-connect. The default is adjustable in Interfaces, Discovery settings."Tb4b4b4,
Tff7b72"bootstrap_desc_page"Tb4b4b4: Ta5d6ff"Bootstrap nodes give Reticulum a starting point so it can discover the rest of the network. Select one or more from discovered or community nodes below."Tb4b4b4,
Tff7b72"bootstrap_discovered"Tb4b4b4: Ta5d6ff"Discovered Nodes"Tb4b4b4,
Tff7b72"bootstrap_community"Tb4b4b4: Ta5d6ff"Community Nodes"Tb4b4b4,
Tff7b72"bootstrap_selected"Tb4b4b4: Ta5d6ff"{count} selected"Tb4b4b4,
Tff7b72"bootstrap_skip"Tb4b4b4: Ta5d6ff"Skip for now"Tb4b4b4,
Tff7b72"bootstrap_confirm"Tb4b4b4: Ta5d6ff"Add selected and restart RNS"Tb4b4b4,
Tff7b72"bootstrap_added"Tb4b4b4: Ta5d6ff"Added {count} bootstrap interface(s)"Tb4b4b4,
Tff7b72"bootstrap_pick_at_least_one"Tb4b4b4: Ta5d6ff"Pick at least one bootstrap node"Tb4b4b4,
Tff7b72"failed_add_bootstrap"Tb4b4b4: Ta5d6ff"Failed to add bootstrap interface"Tb4b4b4,
Tff7b72"local_added"Tb4b4b4: Ta5d6ff"Local AutoInterface added"Tb4b4b4,
Tff7b72"failed_add_local"Tb4b4b4: Ta5d6ff"Failed to add local interface"Tb4b4b4,
Tff7b72"failed_reload_rns"Tb4b4b4: Ta5d6ff"Failed to restart Reticulum"Tb4b4b4,
Tff7b72"ready_finished"Tb4b4b4: Ta5d6ff"Reticulum has been restarted with your new configuration"Tb4b4b4,
Tff7b72"propagation"Tb4b4b4: Ta5d6ff"Propagation Node"Tb4b4b4,
Tff7b72"propagation_question"Tb4b4b4: Ta5d6ff"Do you want to auto-configure propagation mode?"Tb4b4b4,
Tff7b72"propagation_desc"Tb4b4b4: Ta5d6ff"Propagation nodes act like an always-on mailbox for your messages. They securely store messages while you are offline and deliver them as soon as you reconnect to the network."Tb4b4b4,
Tff7b72"propagation_auto"Tb4b4b4: Ta5d6ff"Auto-configure will automatically find and connect to the most reliable propagation node available. If no node is currently available, MeshChatX will wait for one to appear. Until then, offline message syncing will be unavailable."Tb4b4b4,
Tff7b72"propagation_manual"Tb4b4b4: Ta5d6ff"Or manually configure?"Tb4b4b4,
Tff7b72"propagation_manual_desc"Tb4b4b4: Ta5d6ff"You can manually configure a propagation node later in settings, or leave it empty if you don't want to use one."Tb4b4b4,
Tff7b72"propagation_enable_auto"Tb4b4b4: Ta5d6ff"Enable Auto-Configuration"Tb4b4b4,
Tff7b72"propagation_skip_auto"Tb4b4b4: Ta5d6ff"Configure Manually / Skip"Tb4b4b4,
Tff7b72"auto_propagation_enabled"Tb4b4b4: Ta5d6ff"Auto-propagation enabled"
Tb4b4b4},
Tff7b72"command_palette"Tb4b4b4: Tb4b4b4{
Tff7b72"search_placeholder"Tb4b4b4: Ta5d6ff"Search commands, routes, or peers"Tb4b4b4,
Tff7b72"no_results"Tb4b4b4: Ta5d6ff"No results found for \"{query}\""Tb4b4b4,
Tff7b72"group_actions"Tb4b4b4: Ta5d6ff"Actions"Tb4b4b4,
Tff7b72"group_recent"Tb4b4b4: Ta5d6ff"Recent Peers"Tb4b4b4,
Tff7b72"group_contacts"Tb4b4b4: Ta5d6ff"Contacts"Tb4b4b4,
Tff7b72"footer_navigate"Tb4b4b4: Ta5d6ff"Navigate"Tb4b4b4,
Tff7b72"footer_select"Tb4b4b4: Ta5d6ff"Select"Tb4b4b4,
Tff7b72"nav_messages"Tb4b4b4: Ta5d6ff"Messages"Tb4b4b4,
Tff7b72"nav_messages_desc"Tb4b4b4: Ta5d6ff"Conversations and LXMF inbox"Tb4b4b4,
Tff7b72"nav_nomad"Tb4b4b4: Ta5d6ff"Nomad Network"Tb4b4b4,
Tff7b72"nav_nomad_desc"Tb4b4b4: Ta5d6ff"Browse Nomad pages and services"Tb4b4b4,
Tff7b72"nav_map"Tb4b4b4: Ta5d6ff"Map"Tb4b4b4,
Tff7b72"nav_map_desc"Tb4b4b4: Ta5d6ff"Geographic map and layers"Tb4b4b4,
Tff7b72"nav_paper"Tb4b4b4: Ta5d6ff"Paper Messages"Tb4b4b4,
Tff7b72"nav_paper_desc"Tb4b4b4: Ta5d6ff"Signed paper messages (QR)"Tb4b4b4,
Tff7b72"nav_call"Tb4b4b4: Ta5d6ff"Voice Calls"Tb4b4b4,
Tff7b72"nav_call_desc"Tb4b4b4: Ta5d6ff"Voice calls over the mesh"Tb4b4b4,
Tff7b72"nav_settings"Tb4b4b4: Ta5d6ff"Settings"Tb4b4b4,
Tff7b72"nav_settings_desc"Tb4b4b4: Ta5d6ff"App and transport preferences"Tb4b4b4,
Tff7b72"nav_ping"Tb4b4b4: Ta5d6ff"Ping"Tb4b4b4,
Tff7b72"nav_ping_desc"Tb4b4b4: Ta5d6ff"Measure RTT to a destination"Tb4b4b4,
Tff7b72"nav_rnprobe"Tb4b4b4: Ta5d6ff"RNProbe"Tb4b4b4,
Tff7b72"nav_rnprobe_desc"Tb4b4b4: Ta5d6ff"Probe reachability and delay"Tb4b4b4,
Tff7b72"nav_rncp"Tb4b4b4: Ta5d6ff"RNCP"Tb4b4b4,
Tff7b72"nav_rncp_desc"Tb4b4b4: Ta5d6ff"File copy over Reticulum (RNCP)"Tb4b4b4,
Tff7b72"nav_rngit_explorer"Tb4b4b4: Ta5d6ff"RNGit explorer"Tb4b4b4,
Tff7b72"nav_rngit_explorer_desc"Tb4b4b4: Ta5d6ff"Probe rngit repos and copy clone URL"Tb4b4b4,
Tff7b72"nav_rnstatus"Tb4b4b4: Ta5d6ff"RNStatus"Tb4b4b4,
Tff7b72"nav_rnstatus_desc"Tb4b4b4: Ta5d6ff"Interface and link statistics"Tb4b4b4,
Tff7b72"nav_rnpath"Tb4b4b4: Ta5d6ff"RNPath"Tb4b4b4,
Tff7b72"nav_rnpath_desc"Tb4b4b4: Ta5d6ff"Paths and announce queues"Tb4b4b4,
Tff7b72"nav_rnpath_trace"Tb4b4b4: Ta5d6ff"RNPath Trace"Tb4b4b4,
Tff7b72"nav_rnpath_trace_desc"Tb4b4b4: Ta5d6ff"Hop list toward a hash"Tb4b4b4,
Tff7b72"nav_translator"Tb4b4b4: Ta5d6ff"Translator"Tb4b4b4,
Tff7b72"nav_translator_desc"Tb4b4b4: Ta5d6ff"Translate message text"Tb4b4b4,
Tff7b72"nav_forwarder"Tb4b4b4: Ta5d6ff"Forwarder"Tb4b4b4,
Tff7b72"nav_forwarder_desc"Tb4b4b4: Ta5d6ff"LXMF forwarding rules"Tb4b4b4,
Tff7b72"nav_documentation"Tb4b4b4: Ta5d6ff"Documentation"Tb4b4b4,
Tff7b72"nav_documentation_desc"Tb4b4b4: Ta5d6ff"Offline manuals"Tb4b4b4,
Tff7b72"nav_repository_server"Tb4b4b4: Ta5d6ff"Repository server"Tb4b4b4,
Tff7b72"nav_repository_server_desc"Tb4b4b4: Ta5d6ff"MeshChatX wheels, Reticulum packages, and your files over HTTP"Tb4b4b4,
Tff7b72"nav_micron_editor"Tb4b4b4: Ta5d6ff"Micron Editor"Tb4b4b4,
Tff7b72"nav_micron_editor_desc"Tb4b4b4: Ta5d6ff"Edit Micron markup"Tb4b4b4,
Tff7b72"nav_reticulum_config_editor"Tb4b4b4: Ta5d6ff"Reticulum Config Editor"Tb4b4b4,
Tff7b72"nav_reticulum_config_editor_desc"Tb4b4b4: Ta5d6ff"Edit the raw Reticulum config file"Tb4b4b4,
Tff7b72"nav_rnode_flasher"Tb4b4b4: Ta5d6ff"RNode Flasher"Tb4b4b4,
Tff7b72"nav_rnode_flasher_desc"Tb4b4b4: Ta5d6ff"Device firmware update"Tb4b4b4,
Tff7b72"nav_debug_logs"Tb4b4b4: Ta5d6ff"Debug Logs"Tb4b4b4,
Tff7b72"nav_debug_logs_desc"Tb4b4b4: Ta5d6ff"Application and access logs"Tb4b4b4,
Tff7b72"action_sync"Tb4b4b4: Ta5d6ff"Sync Messages"Tb4b4b4,
Tff7b72"action_sync_desc"Tb4b4b4: Ta5d6ff"Sync with your propagation node"Tb4b4b4,
Tff7b72"action_compose"Tb4b4b4: Ta5d6ff"Compose Message"Tb4b4b4,
Tff7b72"action_compose_desc"Tb4b4b4: Ta5d6ff"New LXMF message"Tb4b4b4,
Tff7b72"action_getting_started"Tb4b4b4: Ta5d6ff"Getting Started"Tb4b4b4,
Tff7b72"action_getting_started_desc"Tb4b4b4: Ta5d6ff"Open the setup guide"Tb4b4b4,
Tff7b72"action_changelog"Tb4b4b4: Ta5d6ff"Changelog"Tb4b4b4,
Tff7b72"action_changelog_desc"Tb4b4b4: Ta5d6ff"Recent changes"
Tb4b4b4}
Tb4b4b4}
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────